我有一个Dockerfile,涉及到我将一个大文件夹安装为一个项目(请参阅dockerfile)。查看“ docker历史记录”,发现复制文件夹的成本为900MB,安装成本为1.7GB。有什么方法可以减小此图像尺寸?
Dockefile(为简单起见,忽略了一些步骤):
FROM python:3.5
COPY subproject /app/subproject
WORKDIR /app/subproject
RUN pip install -e .
CMD ['python', 'script.py']
编辑: 该子项目本身就是一个git存储库。这是我的主项目运行所必需的。
子项目在我的本地磁盘上的大小约为500MB,其中95%是由于其中包含一些tar文件而引起的。它安装必备软件包numpy,枕头,scikit,dlib。
答案 0 :(得分:1)
如果使用的是最新的Docker版本,则在构建映像时,根据Docker documentation,您可以使用 experimental 标志: -squash 可以缩小图像层,从而缩小图像。
docker build --squash -t test .
注意::您还必须在要构建映像的计算机上启用实验功能。
您还可以在此处找到一些不错的提示:https://hackernoon.com/tips-to-reduce-docker-image-sizes-876095da3b34