我了解export(对于容器)和save(对于图像)之间的区别。但最终,保存或导出产生的tarball应该用作 图像 。
export
save
那么,为什么有2条命令可以从压缩包制作图像呢?
docker save确实会产生tarball, 但 包含所有父图层以及所有标签+版本。
docker save
docker export 也会产生压缩包,但没有任何层/历史记录。
docker export
当人们想“展平”映像时通常使用它,如Thomas Uhrig的“展平Docker容器或映像 ” 所示:
docker export <CONTAINER ID> | docker import - some-image-name:latest
但是,一旦生成了这些压缩包,就可以进行加载/导入:
docker import
创建一个 空的文件系统映像 并导入tarball的内容
docker load
从文件或标准输入流中加载一个tared存储库