Docker只保存非公共层

我可以导出图像

docker save -o <save image to path> <image name> 

但是这会打包所有图层,文件很大

有没有可能打包只有不公开的图层,所以只有最后一个公共层的差异被导出?

你可以尝试取消 。 该工具可以将Docker镜像的全部或部分图层提取到本地文件系统中。 您可以提取一个或多个特定图层:

 $ docker save busybox | undocker -vi -o busybox -l ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2 INFO:undocker:extracting image busybox (4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125) INFO:undocker:extracting layer ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2 

当然,它不会自动分类公开可用的图层,但这是您可以从头开始的,这里是原始作者的工具介绍文章 。