Python Docker镜像太大



我正在尝试dockerize一个Python流光应用程序,但是我构建的图像太大(1.3GB)。有什么办法可以减少图像大小?

这是我的dockerfile:
FROM python:3.9
WORKDIR /app
COPY ./requirements.txt ./requirements.txt
RUN pip3 install --no-cache-dir -r requirements.txt
EXPOSE 8501
COPY ./src ./src
COPY ./deployment/nginx.conf ./deployment/nginx.conf

和我的requirements.txt文件:

requests==2.16.0
beautifulsoup4==4.10.0
streamlit==1.10.0
lxml==4.7.1

谢谢你的帮助!

检查图片找出罪魁祸首

您可以更仔细地查看docker映像,以找出哪些层占用了大量空间。要查看不同的图层及其大小,可以使用docker history命令。


示例:
docker history <image-name>
关于stackoverflow的
  • 相关问题
  • docker历史文档

获取较小图像的方法

要提高图像大小,您可以查看多阶段构建。

一个非常好的博客,展示了如何在python中实现多阶段构建,并创建更小的图像和更快的构建:(博客由三篇文章组成)

  • https://pythonspeed.com/articles/smaller-python-docker-images/
  • https://pythonspeed.com/articles/multi-stage-docker-python/
  • https://pythonspeed.com/articles/faster-multi-stage-builds/

另一个改进是,就像@pierpy指出的那样,使用python图像的高山版本。例如:

FROM python:3.9-alpine

看到所有的图片版本。

最新更新