如何检查容器是否是最新的
我使用docker-compose在Linux服务器(centos)中pipe理我的容器'abc'。
我想要做的步骤:
1)为了拉我最新的形象,docker工人组成pull'abc'
docker-compose --file docker-compose.yml pull
2)docker命令检查我的容器'abc'是否需要更新( 可能 ???)
3)如果我的容器“abc”,我将执行docker工作
docker-compose --file docker-compose.yml up -d
备注:我知道如果需要,第3步是检查并更新容器,但如果第2步返回True,则需要执行预先任务
当我阅读时重申您的问题:
在更新容器之前,先做X
更改包括:
- 图像变化
- 容器的环境变化
- networking更改
- ..等等
TLDR; 你想要的是一个docker-compose
的dry-run
function。 你并不孤单: https : //github.com/docker/compose/issues/1203
更多; 我认为,在开发人员社区解决这个问题之前,试图使用docker-compose
来达到这个目的是不太好的。 为了完全安全,当任何影响正在运行的容器即将更改时,您都希望执行您的飞行前操作。
潜在的方向:如果我们希望这样做,我们将构build一个shell脚本,为我们做检查,就像撰写文件的差异一样简单,或者像定位每个图像比较复杂,比如grep image docker-compose.yml | sed "s/^.*\: \(.*\),$/\1/g"
grep image docker-compose.yml | sed "s/^.*\: \(.*\),$/\1/g"
…等等等等。