1.结论:
①.docker save 用于操作镜像、docker export/commit 用于操作容器
②.docker save 可以将多个镜像打包到一个压缩包中,然后可以使用 docker load 直接将压缩包中的镜像导入到本地镜像仓库中。可用于无外部网络情况下的镜像传输使用
③.docker export 会根据当前容器的系统快照制作压缩包,然后使用docker import 将压缩包制作成镜像,已知docker 镜像的设计是分层的,但这里制作成的新镜像不会有上层了,它不依赖与任何其他镜像层。docker commit 和docker export 不同的地方在于它在制作镜像层的时候,只会使用当前容器的读写层制作镜像层
2.具体验证步骤如下:
①.拉取 busybox 镜像
②.启动 busybox 容器,并做部分修改
③.使用docker export 、docker import 制作镜像
④.使用docker commit 制作镜像
⑤.对比镜像数据
export 制作的镜像的 layers只会有一个:
docker inspect busybox:b_export
commit 制作的镜像的 layers 会有两个:
其中 73ac22… 这个镜像层正是 busybox:latest
docker inspect busybox:latest