在Docker中导入和加载有什么区别?
我了解export
(对于容器)和save
(对于图像)之间的区别。 但在一天结束时,保存或导出产生的压缩包应当用作图像 。
那么为什么有两个命令从tarball中创build一个映像?
docker save
将确实产生一个tarball, 但与所有父层,所有标签+版本。
docker export
也产生一个tarball,但没有任何图层/历史。
当人们想要“扁平化”一个图像时 ,经常使用它,如Thomas Uhrig的 “ 展开Docker容器或图像 ” 所示 :
docker export <CONTAINER ID> | docker import - some-image-name:latest
但是,一旦这些tarballs被生产,加载/import在那里:
-
docker import
从一个 甚至不是图像的压缩包中创build一个图像(只是您想要导入为图像的文件系统)
创build一个空的文件系统映像并导入tarball的内容
-
docker load
创build可能从一个tar的存储库的多个图像(因为docker save
可以保存在一个tarball中的多个图像)。
从文件或标准inputstream加载一个tar对象库