将docker镜像替换为来自另一个目录

时间:2017-08-28 19:41:25

标签: ubuntu docker deployment docker-compose dockerfile

在Ubuntu服务器上,我运行了一个docker镜像,它是从克隆到directory_a的git存储库构建的。在directory_b中,我有另一个同一个repo的克隆,但是有几个与所有权有关的差异,git忽略了文件,并使用了不同的分支。接下来,directory_b将成为新的工作目录。我的问题是,如何用directory_b中的新构建替换当前构建?

Dockerfiledocker-compose.yml文件在两个副本之间是相同的,除非我更改它,否则新图像将与旧图像具有相同的名称。这是应该改变的吗?

我没有参与初始设置,也没有多少使用Docker的经验,而且真的,真的不想破坏任何东西。看起来我可以使用

docker-compose build <service_name>
docker-compose stop <service_name>
docker-compose up -d --no-deps <service_name>

用新的替换当前版本,但我担心不同的源会导致问题。

1 个答案:

答案 0 :(得分:2)

我建议使用新版本号标记您的图像。如果您使用的是docker-compose build,则需要确保使用标记指定image密钥。例如: 版本:'3' 服务:   Web应用程序:     建造:。     image:myimage:2.0

您可以在Compose File reference中找到更多信息。 Docker也发布了Best Practices for Working with Dockerfiles

一旦你对它进行了版本化,你就要确保它存储在注册表Docker Hub / Docker Cloud,Docker Trusted Registry,或者开源Docker Registry都是候选者。确保您知道您的团队想要使用哪个注册表(可能他们已经使用了一个)并将图像推送到那里。