gpt4 book ai didi

python - 使用 Pillow numpy scipy PyBrain 创建 slim 的 Docker 镜像

转载 作者:行者123 更新时间:2023-11-28 19:04:43 32 4
gpt4 key购买 nike

我正在尝试使用 gunicorn Pillow numpy scipy PyBrain 依赖项创建 slim 图像。但是无论我做什么,我的图像大小都会超过 500 MB。有什么技巧可以减小 docker 镜像的大小吗?

FROM python:2.7-alpine

RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories

RUN apk --update add --no-cache \
lapack-dev \
gcc \
freetype-dev

RUN apk add --no-cache --virtual .build-deps \
gfortran \
musl-dev \
g++ \
jpeg-dev \
zlib-dev

RUN apk add --update tini

COPY requirements.txt /app/
COPY app/ /app/
WORKDIR /app

RUN pip install numpy==1.13.3
RUN pip install -r requirements.txt
RUN apk del .build-deps

EXPOSE 8080

ENTRYPOINT ["/sbin/tini", "--"]
CMD ["gunicorn", "-w 3", "-b :8080", "app:app"]

最佳答案

需要在相同的 RUN 命令中删除构建依赖项,以避免将它们存储到自己的层中。例如:

COPY requirements.txt /app/
RUN apk add --no-cache --virtual .build-deps \
gfortran \
musl-dev \
g++ \
jpeg-dev \
zlib-dev \
&& pip install -r requirements.txt \
&& apk del .build-deps

请注意,每次更新需求时,这都会导致额外的构建时间,因为 apk 命令也会被执行。如果这对您的应用程序来说是 Not Acceptable ,那么只需删除 RUN apk del .build-deps 步骤,因为这不会减少图像大小,但它会增加它,因为发生了添加/删除包在不同的图像层。

关于python - 使用 Pillow numpy scipy PyBrain 创建 slim 的 Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347997/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com