1.save
将一个或多个image打包保存的工具,虽然命令行参数要求指定image,实际上也可以对container进行打包(如果指定的是container,docker save将保存的是容器背后的image),最终都是image
-o:镜像打包后的归档文件输出的目录
//将镜像库中的postgres和mongo打包
docker save -o /root/images.tar postgres:9.6 mongo:3.4
docker save busybox > busybox.tar
//gzip 保存映像文件
docker save myimage:latest | gzip > myimage_latest.tar.gz
2.load
加载image的命令,覆盖本地原有image
–input,-i:指定导入的文件
–quiet,-q:精简输出信息
//postgres:9.6和mongo:3.4载入进来
docker load -i images.tar
docker load < images.tar.gz
3.export
Docker 导出命令不导出与容器关联的卷的内容。如果卷挂载在容器中的现有目录之上,docker export 将导出基础目录的内容,而不是卷的内容。
docker export red_panda > latest.tar
docker export -o="latest.tar" red_panda
4.import
导入image
//从远程位置导入
docker import https://example.com/exampleimage.tgz
//从本地文件导入
docker import - exampleimagelocal:new
//提交消息导入
docker import -m "New image imported from tarball" - exampleimagelocal:new
//从本地存档导入
docker import /path/to/exampleimage.tgz
//从具有新配置的本地目录导入
docker import -c "ENV DEBUG=true" - exampleimagedir
5.总结
save保存的是镜像,export保存的是容器
load用来载入镜像包,import用来载入容器包,但两者都会恢复为镜像
load不能对载入的镜像重命名,而import可以为镜像指定新名称
load不能载入容器包,import能载入镜像包,但不能使用