在 docker 之间导出导入镜像的方法

pull不下来镜像。

可以通过 docker 提供把镜像导出export(保存save)为文件的机制,这样就可以把镜像copy到任意地方了。

1. 导出 export - 导入 import

格式:docker export CONTAINER(容器)

使用 docker ps -a 查看本机已有的容器,如:

[root@docker1 LAMP]# docker ps -a

CONTAINER ID    IMAGE     COMMAND    CREATED     STATUS      PORTS                          NAMES

dd43b6de6b33 weblogic:jdk1.6 "/run.sh" 3 days ago   Up 3 days  0.0.0.0:32771->22/tcp, 0.0.0.0:32770->7001/tcp   peaceful_saha

aca388afeddf sshd:centos   "/run.sh" 4 days ago    Up 4 days  0.0.0.0:32769->22/tcp                   grave_turing

......

[root@docker1 LAMP]# docker export dd43b6de6b33 >/home/weblogic:jdk1.6.tar

[root@docker1 LAMP]# cd /home

[root@docker1 home]# ls

weblogic:jdk1.6.tar

导出完成后,就可以使用 import 导入了

[root@docker1 home]# docker import - /home/weblogic:jdk1.6.tar


2.保存save - 加载 load

格式:docker save IMAGE(镜像)

使用 docker images 查看本机已有的镜像(也可以使用 docker commit <CONTAIN-ID> <IMAGE-NAME>命令把一个正在运行的容器保存为镜像),如:

[root@docker1 LAMP]# docker images

REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE

......

docker.io/tutum/lamp      latest              3d49e175ec00        22 months ago       426.9 MB

......

[root@docker1 LAMP]# docker save 3d49e175ec00 >lamp.tar

[root@docker1 LAMP]# ls

Dockerfile  lamp.tar

[root@docker1 LAMP]# sz lamp.tar 

rz

Starting zmodem transfer.  Press Ctrl+C to cancel.

Transferring lamp.tar...

  100%  430366 KB    14345 KB/sec    00:00:30       0 Errors  


有点慢,稍微等待一下,没有任何warn信息就表示保存OK。3d49e175ec00 是镜像ID

现在就可以在任何装 docker 的地方加载 刚保存的镜像了

[root@docker1 home]# docker load < /lamp/lamp.tar


3.导出 export 与 保存 save 的区别

 (1).export导出的镜像文件大小  小于 save保存的镜像

 (2).export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag <LAYER ID> <IMAGE NAME>);而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree)

注:导入加载进来觉得不合适可以使用 docker rm 容器ID 、 docker rmi 镜像ID 来删掉。

移除所有的容器和镜像(大扫除):


代码如下:


docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)   



本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/2056647


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值