Git 如何导入导出docker组件?

Git 如何导入导出docker组件?,git,docker,docker-compose,containers,Git,Docker,Docker Compose,Containers,我对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)的内容 我的问题是:我可以将容器A导入1.1.1.1中的服务器吗?我有用户权限下载Git,但我想要的是导入容器,而

我对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)的内容

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

否。如果您希望拥有用于运行容器A(Git)的映像,那么您的朋友必须将Docker映像推送到Docker注册表。这将使您能够在服务器上运行与Docker容器相同的Docker映像。但不是数据

Docker图像在设计上是不可变的。启动的Docker映像称为Docker容器。基本上,如果您停止并删除Docker容器,它们将被完全删除。例如,如果您有要保存的数据,则可以使用所谓的
绑定卷

你看,你的问题很广泛。有很多方法可以实现您想要的,但我只能向您指出一些文档来进一步说明。或者你也可以参加当地的聚会,这将是最快的上船方式


运行中的容器可以导出到tar归档中,tar归档可以复制到不同的机器上,然后再导入回来

在运行容器的机器上,执行以下操作:

docker export --output "A.tar" <container-A> 
docker导出——输出“A.tar”
接下来,将生成的归档文件A.tar复制到您的计算机上,并将其导入:

docker import A.tar <container-A-image>
docker导入A.tar

这将在您的计算机上创建一个映像,然后可以使用
docker run…

启动该映像。如果您想移动正在运行的容器实例,我建议您运行以下命令

$ 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
这将在主机上创建映像,然后运行下面的命令将映像另存为tar文件,以便将其上载到另一台主机

$ docker save -o testimage.tar svendowideit/testimage:version3
在将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

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

亲爱的@kleinsasserm非常感谢您的见解。理解。正如我从搜索和学习中所想的那样,如果我的朋友不推送或分享图片,那是不可能的。非常感谢。亲爱的@Viswens非常感谢。这很有帮助。谢谢你的指导。还有一个问题,如果我想保存docker映像,我应该停止docker服务吗?如果docker运行时正常,它会对使用它的人产生影响吗?(例如变慢或什么?)我们可以在不停止Docker的情况下安全运行Docker save,但要确保新Docker提供了新装载的卷或环境;例如,您在MySQL数据库上保存了Docker,那么MySQL数据应该装载在主机上;对于即将推出MySQL的新Docker来说,它应该使用新的卷目录,以便从头开始创建内容。所以,这取决于它是什么,以及你计划如何开发你的IaaS。明白了。。。非常感谢ear@yamenk非常感谢。如果我在容器A中导出,我应该停止docker服务吗?或者即使docker正在运行也可以导出?导出时容器可以正在运行。不需要停止服务。