导出使用docker-compose

时间:2019-12-05 10:09:38

标签: docker docker-compose dockerfile

我有一系列使用 docker-compose 创建的容器。这些容器中的一些容器通过 docker-compose.yml 文件中定义的一些规则相互通信。

我需要将这些容器从 serverA 移到 serverB (相同的操作系统),但是在理解其工作方式时遇到了问题。

我在网上找到了教程之后,尝试了 export save 方法,但之后都无法获取端口配置和网络规则 export - import save - load 操作(有可能我没有真正了解它们的工作方式...)

我发现成功完成此操作的唯一方法是复制整个docker-compose文件夹并在serverB中运行 docker-compose up

问题:

是否有一种方法可以保留容器的整个配置,并使用导出或保存功能将它们从服务器移动到另一台服务器?

感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

2种情况:

通过ssh复制

$ sudo docker save  myImage:tag | ssh user@IPhost:/remote/dir docker load -

通过scp复制

#Host A
$ docker save Image > myImage.tar
$ scp myImage.tar IPhostB:/tmp/myImage.tar
# Host B
$ docker load -i /tmp/myImage.tar

然后您还需要将docker-compose.yml复制到主机B。

这些容器仅具有原始构建的自身配置,但未保存我们使用文件docker-compose.yml生成的环境

再见