如何导入导出docker compose?

iva*_*asa 4 git containers docker docker-compose

我还是 docker 和所有容器方面的新手。我在 1.1.1.1 有完全访问权限的服务器,我在那里安装了 docker。(没有 docker compose)在另一个地方,我的朋友有服务器 2.2.2.2,他在那里安装了 docker 和 docker compose。

在 2.2.2.2 服务器上,我的朋友构建了 3 个容器:容器 A(Git)、容器 B(未知)、容器 C(未知)。我可以使用浏览器访问容器 A (Git) 的内容。

我的问题是:我可以在 1.1.1.1 中将容器 A 导入我的服务器吗?我有用户下载 Git 的权限,但我想要的是导入容器,而不是 Git(容器内的内容)。任何提示?我该怎么办?或者,如果我无权访问命令控制台,就不可能做到?

Vis*_*esn 8

如果您想移动正在运行的容器实例,那么我建议您运行以下命令

$ docker ps
 CONTAINER ID    IMAGE             COMMAND       CREATED       STATUS       NAMES
 c3f279d17e0a   ubuntu:12.04      /bin/bash      7 days ago    Up 25 hours desperate_dubinsky
 197387f1b436   ubuntu:12.04      /bin/bash      7 days ago    Up 25 hours focused_hamilton

$ docker commit c3f279d17e0a  svendowideit/testimage:version3
Run Code Online (Sandbox Code Playgroud)

这将在主机上创建图像,然后运行以下命令将图像保存为 tar 文件以将其上传到另一台主机。

$ docker save -o testimage.tar svendowideit/testimage:version3
Run Code Online (Sandbox Code Playgroud)

在 scp 到另一台主机的 tar 图像上运行以下命令以提取 tar 并将其保存为 docker 图像。

 $ docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

 $ docker load --input testimage.tar
 Loaded image: svendowideit/testimage:version3

 $ docker images
 REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
 svendowideit/testimage version3            769b9341d937        7 weeks ago         2.489 MB
Run Code Online (Sandbox Code Playgroud)

现在您可以使用 docker run 命令来调出保存图像的 docker 实例。