在Docker中保存和导出有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

如题

提问于
用户回答回答于

简短的答案是:

  • save将获取映像:对于VM或物理服务器,这将是安装.ISO映像或磁盘。基本的操作系统。 它将打包构建图像所需的所有链的图层和元数据。然后,您可以将此“已保存”图像链加载到另一个Docker实例中,并从这些图像创建容器。
  • export将获取整个容器:就像普通虚拟机的快照。当然,保存操作系统,也是你做的任何改变,在容器寿命期间写入的任何数据文件。这个更像是一个传统的备份。 它会给你一个包含你的容器文件系统的平坦的.tar文件。
用户回答回答于

保存和导出命令有两个主要区别。

  1. 保存命令保存具有历史记录和元数据的整个图像,但导出命令仅导出文件结构(没有历史和元数据)。所以导出的tar文件会比保存的文件小一些。
  2. 当使用导出的文件系统创建新映像时,这个新映像将不包含来自Dockerfile的任何USER,EXPOSE,RUN等命令。只有文件结构会被传送。因此,当您在Dockerfile中使用提及的关键字时,则无法使用export命令将映像传输到另一台计算机 - 需要始终使用save命令。

扫码关注云+社区