Docker 导出 & 导入

Posted 丹江流

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 导出 & 导入相关的知识,希望对你有一定的参考价值。

  Docker 容器因为它的快速部署被深受喜爱。本文记录 Docker 容器的导出与导入,分别用到 Docker 的 export 和 import 命令。

  1、查看正在运行的容器:

[[email protected] ~]# docker ps
CONTAINER ID        IMAGE                                          COMMAND                CREATED             STATUS              PORTS                           NAMES
d6cc9176e469        centos:git                                     "/bin/bash"            58 seconds ago      Up 58 seconds                                       boring_banach       
52d93cf4ed12        daocloud.io/daocloud/dao-2048:master-a2c564e   "/bin/sh -c ‘sed -i    3 hours ago         Up 3 hours          443/tcp, 0.0.0.0:8888->80/tcp   lonely_meitner 

  2、导出容器 d6cc9176e469  (注:导出的是容器,而非镜像image) :

[[email protected] ~]# docker export d6cc9176e469 > centos_git.tar
[[email protected] ~]# 

  3、拷贝centos_git.tar 文件到待部署的宿主机上,导入tar文件,制作成镜像image:

[[email protected] src]# cat centos_git.tar | docker import - image_name:tag
sha256:a22060ebe7a43df3c35dc41f09793efc196ebb3acf8b6ba44dca3be55d94fa9b
[[email protected] src]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
image_name             tag                 a22060ebe7a4        9 seconds ago       314MB
[[email protected] src]# 

  4、运行导入的镜像:(按照镜像的运行方式运行),例如:以交互的方式,新开一个终端运行

docker run -it image_name:tag /bin/bash

[[email protected] local]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0beb1fb02360 image_name:tag "/bin/bash" 2 minutes ago Up 2 minutes sad_kalam

 

注: 运行导入镜像时,需要再镜像后边添加 command ,本例中为 “/bin/bash”,如果缺失,会出现

[[email protected] local]# docker run -it image_name:tag
docker: Error response from daemon: No command specified.
See docker run --help.

导入镜像的command 具体是什么,需要查看远容器启动是的命令,如在源docker 中运行 docker ps , 即可查到对应的 command 。

[[email protected] ~]# docker ps
CONTAINER ID        IMAGE                                          COMMAND                CREATED             STATUS              PORTS                           NAMES
c55acd4f404f        centos:git                                     "/bin/bash"            3 minutes ago       Up 3 minutes                                        jolly_einstein      
52d93cf4ed12        daocloud.io/daocloud/dao-2048:master-a2c564e   "/bin/sh -c ‘sed -i    3 hours ago         Up 3 hours          443/tcp, 0.0.0.0:8888->80/tcp   lonely_meitner   

是不是很简单方便,赶紧来试试吧!

 

以上是关于Docker 导出 & 导入的主要内容,如果未能解决你的问题,请参考以下文章

Docker&Kubernetes ❀ Docker save load export import 容器镜像的导入与导出方法

Docker&Kubernetes ❀ Docker save load export import 容器镜像的导入与导出方法

Docker ❀ save load export import 镜像与容器的导入与导出

docker导入导出版本需一致吗

docker容器的导出和导入

consul配置的导出导入(consul跑在docker里的方式)