我做了一个相当大的Docker容器。当我提交容器以创建映像时,该映像大约有7.8 GB。但是,当我export将容器(不是save映像!)放到压缩包中并重新导入时,映像只有3 GB。当然,历史已经丢失了,但是对我来说这没关系,因为我认为映像已“完成”并准备部署。
export
save
如何展平图像/容器而不将其导出到磁盘并再次导入? 并且:这样做是一个明智的主意,还是我错过了一些重要的观点?
从Docker 1.13开始,您可以使用该--squash标志。
--squash
在1.13版之前:
据我所知,您无法使用Docker api。就像您自己已经提到的那样,docker export并且docker import是针对这种情况而设计的。
docker export
docker import
如果您不想保存到磁盘,则可以将导出的输出流通过管道导入到导入的输入流中。我没有测试过,但是尝试
docker export red_panda | docker import - exampleimagelocal:new