首页 > 解决方案 > 如何复制整个容器?

问题描述

我在 3 台机器中的一台上运行容器(由管道动态拾取),我遇到了服务器启动问题并分析故障,我需要另一个人的帮助,但考虑到他的可用性,我不能说他什么时候有空.

而且我不能一直占用运行容器的主机,因为团队中的其他成员需要它。

下一次,当开发人员可用时,我将不得不触发构建并将其带到可以向开发人员显示问题的阶段,但这需要时间。

在这种情况下,有什么办法,我可以停止该容器并获取它的整个副本,并在下次需要时运行它,这样我就可以让容器处于需要的状态,而且这也更省时。

标签: dockercontainersdevops

解决方案


您可以使用 ,基于现有容器创建 Docker 映像docker commit,例如:

docker commit my-container image-from-my-container
# return an image SHA

然后,您可以根据提交的图像运行容器(与提交时的容器状态匹配)

docker run [OPTIONS] image-from-my-container

如果您还需要将图像导出到另一台机器(因为其他团队成员可能需要原始机器),您可以:

  • 将图像推送到远程注册表docker image push并从另一台机器运行它
  • 使用 将图像导出到 TAR 文件docker image save image-from-my-container > saved-image.tar,将存档下载到另一台机器,然后使用docker image load -i saved-image.tar

推荐阅读