如何检查容器是否是最新的

我使用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-composedry-runfunction。 你并不孤单: 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" …等等等等。