导出使用docker compose创建的容器

导出使用docker compose创建的容器,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我用docker compose创建了一系列容器。其中一些容器通过docker compose.yml文件中定义的一些规则相互通信 我需要将这些容器从serverA移动到serverB(相同的操作系统),但我在理解其工作原理时遇到了问题 在网上找到的教程之后,我尝试了导出和保存方法,但在导出导入或保存加载操作之后,我无法获得端口配置和网络规则(有可能我没有真正了解它们的工作原理…) 我发现成功完成这项工作的唯一方法是复制整个docker compose文件夹并在serverB中运行docker

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

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

在网上找到的教程之后,我尝试了导出保存方法,但在导出导入或保存加载操作之后,我无法获得端口配置和网络规则(有可能我没有真正了解它们的工作原理…)

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

问题:

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

感谢您提供的任何帮助

2个场景:

通过ssh复制 通过scp复制 然后还需要将docker-compose.yml复制到主机B

这些容器只有原始版本自己的配置,但它们不保存我们使用docker-compose.yml文件生成的环境


再见

“为什么要将它从一台服务器移动到另一台服务器?”-这个问题的答案将帮助我更好地回答您的问题。您的最终目标是什么?类似的问题最佳实践是您所做的有效操作,
docker将图像推送到注册表,将
docker compose.yml
文件复制到另一个系统,然后在那里运行
docker compose
。不要担心特定的容器作为实体,避免
导出
保存
操作。@7_R3X。。学问purposes@b0gusb我知道那个。我尝试了包括的所有解决方案,但没有保留端口配置。非常感谢您的回答。所有的工作都完美无缺(除了POSTGRE数据库,但我会为这个问题提出一个不同的问题,因为看起来可能会有不同的程序!)
$ sudo docker save  myImage:tag | ssh user@IPhost:/remote/dir docker load -
#Host A
$ docker save Image > myImage.tar
$ scp myImage.tar IPhostB:/tmp/myImage.tar
# Host B
$ docker load -i /tmp/myImage.tar