我按照此处给出的说明压缩了Docker镜像:
https://tuhrig.de/flatten-a-docker-container-or-image/
我看到扁平化后图像的大小减少了约21%。现在,它似乎在部署时间方面效率很高(因为大小)但我担心展平过程会删除图像的一些内容。
答案 0 :(得分:1)
展平会删除一个图层中的文件,以后删除或覆盖另一个图层中的文件。即使进行权限更改,也会导致使用新权限进行写入时复制(将文件复制到其他层)。如果您的目标主机已经拥有图像的基础层,则展平的图像会删除使用缓存层进行更快docker build
命令的功能,并可能导致通过网络传输更多数据。
我自己的建议是遵循Dockerfile best practices来最小化图层的大小,而不是展平图像。