如何导入导出docker撰写?

时间:2017-12-05 05:04:23

标签: git docker docker-compose containers

我仍然是码头工人和所有容器中的新人。 我有完全访问权限的服务器 1.1.1.1我在那里安装了docker。 (没有码头组成) 在另一个地方,我的朋友有服务器2.2.2.2,他安装了docker和docker在那里组成。

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

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

3 个答案:

答案 0 :(得分:2)

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

$ 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

在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

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

答案 1 :(得分:1)

可以将正在运行的容器导出到tar存档中,该存档可以复制到其他计算机上并将其导回。

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

docker export --output "A.tar" <container-A> 

接下来将生成的存档A.tar复制到您的计算机上,然后导入它:

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

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

启动该图像

答案 2 :(得分:-1)

没有。如果你想拥有用于运行容器A(Git)的图像,那么你的朋友必须将Docker镜像推送到Docker注册表。这将使您可以在服务器上运行与Docker容器相同的Docker镜像。但不是数据。

Docker镜像是设计不可变的。已启动的Docker镜像称为Docker容器。基本上,如果停止并删除它们,则会完全删除此Docker容器。如果您有想要保留的数据,那么您可以使用所谓的bind volumes

你知道,你的问题很广泛。并且有一些方法可以实现您想要的功能,但我只能指出一些文档以便更进一步。或者你可以加入当地的聚会,这将成为登船的最佳方式。

https://www.slideshare.net/Docker/introduction-to-docker-2017

https://docs.docker.com/

https://events.docker.com/