阿男的小窝

View the Project on GitHub

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的,其实可以猜,试着执行apkapk-addyumdnf这些常用的包管理工具命令来推测所使用的linux发行版本。

以上是对flyway容器定制的一个说明。