我的docker映像构建在Jenkins CI服务器上,并推送到我们的私有docker Registry。我的目标是使用docker-compose来提供环境,它总是启动映像的原始构建状态。
我目前在不同的机器上使用docker-compose 1.3.2和1.4.0,但我们以前也使用过较旧的版本。
我总是使用docker-compose pull && docker-compose up -d
命令从注册表中获取新鲜图像并启动它们。我相信我的首选行为在某个时间点之前是正常工作的,但从那时起docker-compose up
开始重新运行以前停止的容器,而不是每次都启动最初构建的映像。
有没有办法摆脱这种行为?会不会是连接在docker-compose中的一种方式。Yml配置文件不依赖“不忘记”的命令行上的东西每次调用?
ps.除了想办法实现我的目标,我也很想多了解一下这种行为的背景。我认为Docker的基本思想是构建一个不可变的基础设施。docker-compose当前的行为似乎与这种方法明显冲突。还是我漏掉了什么?