一尘不染

Docker中的导入和加载之间有什么区别?

docker

我了解export(对于容器)和save(对于图像)之间的区别。但最终,保存或导出产生的tarball应该用作 图像

那么,为什么有2条命令可以从压缩包制作图像呢?


阅读 306

收藏
2020-06-17

共1个答案

一尘不染

docker save确实会产生tarball,
包含所有父图层以及所有标签+版本。

docker export
也会产生压缩包,但没有任何层/历史记录。

当人们想“展平”映像时通常使用它,如Thomas
Uhrig的
“展平Docker容器或映像所示

docker export <CONTAINER ID> | docker import - some-image-name:latest

但是,一旦生成了这些压缩包,就可以进行加载/导入:

  • docker import一个 tarball 创建 一个 图像, 甚至 不是图像(只是要导入为图像的文件系统)

创建一个 空的文件系统映像 并导入tarball的内容

  • docker load从一个有问题的存储库中创建潜在的 多个 图像(因为docker save可以在一个tarball中保存 多个 图像)。

从文件或标准输入流中加载一个tared存储库

2020-06-17