docker学习(三)docker save和export的区别

通过nginx镜像做测试,
首先下载nginx镜像

docker pull nginx

运行nginx镜像

docker run -d nginx:latest

进入nginx容器

docker exec -it 322c0a645388 /bin/bash

在容器内创建测试文件

touch test.txt

1、docker save

docker save -o nginx-save.tar nginx:latest

将nginx镜像保存到nginx-save.tar中,当然可以保存多个镜像到一个tar中

2、docker export

docker export -o nginx-export.tar 322c0a645388 

将运行的nginx容器到处到nginx-export.tar

3、docker load

删除原来运行的nginx镜像

docker stop 322c0a645388
docker rm 322c0a645388
docker rmi nginx:latest

加载nginx-save.tar

docker load -i nginx-save.tar

重新运行load进来的镜像

docker run -d  --name nginx-load nginx:latest

进入容器查看后,发现根目录没有测试文件test.txt。

因为docker save 是用来将一个或多个image打包保存的工具,作用对象是镜像。

4、docker import

导入镜像
docker import nginx-export.tar nginx:import

启动容器
docker run -it nginx:import /bin/bash

进入容器查看后,发现根目录存在测试文件test.txt。

因为docker export是用来将容器的文件系统进行打包的,作用对象是容器。

5、总结

docker save保存的是镜像;

docker export保存的是容器;

docker load用来载入镜像包;

docker import用来载入容器包,载入后是镜像。


版权声明:本文为RenshenLi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。