docker image和container 导入和导出
docker image导入和导出
1.将docker镜像save到本地
docker save imageID -o saveImageName.tar 或者
docker save imageID > saveImageName.tar
2、加载镜像
docker load -i saveImageName.tar 或者
docker load < saveImageName.tar
3、解决镜像REPOSITORY和TAG为none问题
通过docker images可以发现IMAGE ID和SIZE都与之前一致,但REPOSTIORY和TAG显示为none
解决此问题,需要使用到docker tag命令
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 或者
docker tag IMAGEID TARGET_IMAGE[:TAG]
4、验证
根据新导入的镜像,启动mysql容器
docker run --name mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7.27
docker container 导入和导出
1、docker container 的导出
[root@wxtest1607 lixr]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b91d9ad83efa 9045 "/bin/bash" 18 seconds ago Up 15 seconds trusting_colden f680b58163ab aa79 "/bin/bash" 8 hours ago Up 8 hours stupefied_mayer 4db6aa9b8278 4052 "mysqld_safe" 21 hours ago Up 21 hours 8080/tcp, 0.0.0.0:53307->3306/tcp nostalgic_leavitt 7bcfe52af7a0 599d "mysqld_safe" 21 hours ago Up 21 hours 8080/tcp, 0.0.0.0:53306->3306/tcp sleepy_hodgkin [root@wxtest1607 lixr]# docker export b91d9ad83efa > tomcat80824.tar [root@wxtest1607 lixr]# ls -lh 总用量 2.1G -rw-r--r-- 1 root root 943M 8月 24 18:37 tomcat80824.tar -rw-r--r-- 1 root root 1005M 8月 24 17:42 tomcat8-apr.ta
b91d9ad83efa 是 镜像90457edaf6ff 启动后的容器。镜像导出的文件比容器导出文件大.
2、docker container 的导入
[root@wxtest1607 lixr]# docker import tomcat80824.tar sha256:880fc96a6bb6abdfa949a56d40ef76f32f086fa11024ddcfb4e4e8b22041d5f2 [root@wxtest1607 lixr]# docker image REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 880fc96a6bb6 6 seconds ago 971.9 MB [root@wxtest1607 lixr]# docker tag 880f tomcat80824:1.0 [root@wxtest1607 lixr]# docker image list REPOSITORY TAG IMAGE ID CREATED SIZE tomcat80824 1.0 880fc96a6bb6 About a minute ago 971.9 MB tomcat8-apr 3.0 90457edaf6ff 8 hours ago 1.036 GB
三、镜像和容器 导出和导入的区别
镜像导入和容器导入的区别:
1)容器导入 是将当前容器 变成一个新的镜像
2)镜像导入 是复制的过程
save 和 export区别:
1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息。