我正在使用 docker-compose 在 linux 服务器 (centos) 中管理我的容器“abc”。
我要执行的步骤:
1) docker compose pull 'abc' 以拉取我的最新镜像
docker-compose --file docker-compose.yml pull
2) docker 命令来检查我的容器 'abc' 是否需要更新( 可能 ???)
3)如果我的容器“abc”我将执行 docker-compose up -d
docker-compose --file docker-compose.yml up -d
备注:我知道第 3 步正在检查并在必要时更新容器,但如果第 2 步返回 True,我需要执行预任务
最佳答案
在我阅读时重申您的问题:
Prior to updating a container, do X
变化包括:
TLDR; 您想要的是
dry-run
docker-compose
的特点.你并不孤单:https://github.com/docker/compose/issues/1203更多的; 我认为您尝试使用
docker-compose
不走运直到开发者社区解决这个问题为止。为了完全安全,您需要在影响正在运行的容器的任何事情即将发生变化时执行飞行前操作。潜在方向:如果我们希望这样做,我们会构建一个 shell 脚本来为我们进行检查,就像对撰写文件的差异一样简单,或者像定位每个图像一样复杂,例如
grep image docker-compose.yml | sed "s/^.*\: \(.*\),$/\1/g"
...等等等等。
关于docker - 如何检查容器是否是最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287745/