同步docker图像

时间:2018-01-19 09:27:35

标签: docker

我有两台机器(独立主机)运行docker,我在两台机器上使用相同的图像。如何使两个图像保持同步。例如。假设我对其中一个主机中的图像进行了更改,并希望更改也反映在其他主机中。我可以提交图像并将图像复制到另一台主机。有没有其他有效的方法呢?

2 个答案:

答案 0 :(得分:3)

我能想到的一些方法:

1。使用Docker注册表

这里的工作流程是:

  • 主持人A:docker commitdocker push
  • 主持人B:docker pull

2。将图像保存为.tar文件

这里的工作流程是:

  • 主持人A:docker save
  • 主持人B:docker load

3。使用Dockerfile并再次构建图像​​

这里的工作流程是:

  • 提供Dockerfile以及您所需的代码/文件
  • 每当您的代码发生变化并想要发布时,请使用docker build创建新图片。
  • 来自您要进行更新的主机,您必须获取更新的源代码(可能使用Git等版本控制软件),然后docker build图像

4。 CI / CD管道

您可以在此处看到视频:docker.com/use-cases/cicd

请注意,containers被认为是短暂的。这意味着更新另一台主机内的image将需要:

  1. stopremove任何旧容器(使用过时的图像运行)
  2. run新的(带有更新后的图片)
  3. 我引用:Best practices for writing Dockerfiles

      

    一般指导方针和建议

         

    容器应该是短暂的

         

    Dockerfile定义的图像生成的容器应尽可能短暂。 通过“短暂的”,我们的意思是它可以被停止和销毁,并且建立一个新的,并且绝对最少的设置和配置

答案 1 :(得分:0)

您可以执行docker push将图片上传到docker registry并执行docker pull以获取其他主机的最新图片。

有关详细信息,请查看this