1. 程式人生 > >Docker 導出 & 導入

Docker 導出 & 導入

需要 status epo -a image 交互 mman mage root

  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 導出 & 導入