flyway容器的定制使用
flyway提供了自己的运行容器:
但是这个容器的entrypoint默认是去执行flyway的命令,然后就退出。我们需要进入这个容器做一些定制调试的工作就不太方便,所以可以用下面的命令来启动并登录容器:
$ docker run -it --user root --entrypoint '/bin/sh' flyway/flyway
在上面的命令里,我们用--entrypoint命令来override这个容器自己的脚本,用/bin/sh来替代。
此外,我们使用--user选项让docker使用容器的root账号来进行登录。下面是容器的登录情况:

因为flyway容器是使用的11-jre-hotspot这个image做为基础:

我们可以在dockerhub里面找到adoptopenjdk这个image:

这个image对应的github项目在这里:
如果有兴趣可以研究。
回到flyway这个容器,我们可以此时在这个容器里面使用apt-get命令对linux进行包的更新:

至于为什么判断这个容器是基于ubuntu/debian的,其实可以猜,试着执行apk,apk-add,yum,dnf这些常用的包管理工具命令来推测所使用的linux发行版本。
以上是对flyway容器定制的一个说明。