博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 docker 之间导出导入镜像的方法
阅读量:6337 次
发布时间:2019-06-22

本文共 1838 字,大约阅读时间需要 6 分钟。

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

转载地址:http://qcsoa.baihongyu.com/

你可能感兴趣的文章
Iredmail 安装详解
查看>>
数据可视化之风向图
查看>>
我的友情链接
查看>>
css不同终端的适配问题
查看>>
zabbix + grafana 优化zabbix图形显示
查看>>
自动化运维工具Ansible之Playbooks的roles和include
查看>>
我的友情链接
查看>>
打包php成exe
查看>>
NSString,NSSarray的常用用法
查看>>
哲学是"科学"的旁观者
查看>>
破旧的WINDOWS PHONE
查看>>
jquery ajax return值不能取得的解决方案
查看>>
Cacti监控
查看>>
克隆Linux虚拟机,Linux机器SSH互联,Linux机器生成密钥与设置
查看>>
ListView列表的两种方式
查看>>
UUID
查看>>
cacti消失的图像
查看>>
ceph struct1
查看>>
插入排序基础实现
查看>>
磁盘及文件系统管理详解
查看>>