Docker|Docker images导出和导入操作

之前已配置好基础镜像,其他地方也需要用到这些镜像时怎么办呢?
答案:镜像的导入和导出功能。
1、镜像的保存

[root@wxtest1607 ~]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEtomcat83.090457edaf6ff6 hours ago1.036 GB[root@wxtest1607 lixr]# docker save 9045 > tomcat8-apr.tar[root@wxtest1607 lixr]# ls -lh总用量 1.2G-rw-r--r-- 1 root root 1005M 8月 24 17:42 tomcat8-apr.tar

2、镜像的导入 当前缺一台CentOS7服务器,实践方式变成,先删除image,然后再导入,折腾呀!
[root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEtomcat83.090457edaf6ff7 hours ago1.036 GB[root@wxtest1607 lixr]# docker rmi 9045Untagged: tomcat8:3.0Deleted: sha256:90457edaf6ff4ce328dd8a3131789c66e6bd89e1ce40096b89dd49d6e9d62bc8Deleted: sha256:00df1d61992f2d87e7149dffa7afa5907df3296f5775c53e3ee731972e253600[root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZE[root@wxtest1607 lixr]# docker load < tomcat8-apr.tar60685807648a: Loading layer [==================================================>] 442.7 MB/442.7 MB[root@wxtest1607 lixr]# yer [>] 527.7 kB/442.7 MB[root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZE90457edaf6ff7 hours ago1.036 GB[root@wxtest1607 lixr]# docker tag 9045 tomcat8-apr:3.0[root@wxtest1607 lixr]# [root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEtomcat8-apr3.090457edaf6ff7 hours ago1.036 GB

3、容器的导出
[root@wxtest1607 lixr]# docker ps CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMESb91d9ad83efa9045"/bin/bash"18 seconds agoUp 15 secondstrusting_coldenf680b58163abaa79"/bin/bash"8 hours agoUp 8 hoursstupefied_mayer4db6aa9b82784052"mysqld_safe"21 hours agoUp 21 hours8080/tcp, 0.0.0.0:53307->3306/tcpnostalgic_leavitt7bcfe52af7a0599d"mysqld_safe"21 hours agoUp 21 hours8080/tcp, 0.0.0.0:53306->3306/tcpsleepy_hodgkin[root@wxtest1607 lixr]# [root@wxtest1607 lixr]# [root@wxtest1607 lixr]# docker export b91d9ad83efa > tomcat80824.tar[root@wxtest1607 lixr]# ls -lh总用量 2.1G-rw-r--r-- 1 root root943M 8月 24 18:37 tomcat80824.tar-rw-r--r-- 1 root root 1005M 8月 24 17:42 tomcat8-apr.tar

b91d9ad83efa 是 镜像90457edaf6ff 启动后的容器。
镜像导出的文件比容器导出文件大哦。
4、容器的导入
[root@wxtest1607 lixr]# docker import tomcat80824.tarsha256:880fc96a6bb6abdfa949a56d40ef76f32f086fa11024ddcfb4e4e8b22041d5f2[root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZE880fc96a6bb66 seconds ago971.9 MB[root@wxtest1607 lixr]# docker tag 880f tomcat80824:1.0[root@wxtest1607 lixr]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEtomcat808241.0880fc96a6bb6About a minute ago971.9 MBtomcat8-apr3.090457edaf6ff8 hours ago1.036 GB

5、镜像和容器 导出和导入的区别 镜像导入和容器导入的区别:
1)容器导入 是将当前容器 变成一个新的镜像
2)镜像导入 是复制的过程
save 和 export区别:
1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息
[root@wxtest1607 lixr]# docker history 880fc96a6bb6IMAGECREATEDCREATED BYSIZECOMMENT880fc96a6bb612 minutes ago971.9 MBImported from -[root@wxtest1607 lixr]# docker history 90457edaf6ffIMAGECREATEDCREATED BYSIZECOMMENT90457edaf6ff8 hours ago/bin/bash434.4 MB23 hours ago/bin/bash406.5 MB7 weeks ago/bin/sh -c #(nop) CMD ["/bin/bash"]0 B7 weeks ago/bin/sh -c #(nop) LABEL license=GPLv20 B7 weeks ago/bin/sh -c #(nop) LABEL vendor=CentOS0 B7 weeks ago/bin/sh -c #(nop) LABEL name=CentOS Base Imag0 B7 weeks ago/bin/sh -c #(nop) ADD file:b3bdbca0669a03490e194.6 MB7 weeks ago/bin/sh -c #(nop) MAINTAINER The CentOS Proje0 B

补充:docker images 详解
docker images 用于查看本地已下载的镜像
[root@localhost ~]$ docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEcentoslatest1e1148e4cc2c2 weeks ago202MBubuntulatest93fd78260bd15 weeks ago86.2MBREPOSITORY# 镜像仓库TAG# 镜像标签IMAGE ID# 镜像IDCREATED# 镜像创建时间SIZE# 镜像大小

【Docker|Docker images导出和导入操作】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    推荐阅读