2 回答
TA贡献1811条经验 获得超5个赞
关于尺寸,请确保您在使用时始终通过(您使用一次,但在其他情况下不使用)。同样,结合使用并确保最后一步是清除缓存,使其永远不会在图像层中冻结,例如将三个单独的 s替换为; 在单层中实现相同的效果,即不保留缓存。--no-cache-dirpipapkapkRUNRUN apk update && apk upgrade && apk add bash && rm -rf /var/cache/apk/*apk
例子:
FROM python:3.7-alpine
COPY requirements.pip ./requirements.pip
# Avoid pip cache, use consistent command line with other uses, and merge simple layers
RUN python3 -m pip install --upgrade --no-cache-dir pip && \
python3 -m pip install --upgrade --no-cache-dir setuptools
# Combine update and add into same layer, clear cache explicitly at end
RUN apk update && apk add --no-cache --virtual .build-deps gcc python3-dev musl-dev openssl-dev libffi-dev g++ && \
python3 -m pip install -r requirements.pip --no-cache-dir && \
apk --purge del .build-deps && rm -rf /var/cache/apk/*
不要指望它会做很多事情(您已经--no-cache-dir在大型pip操作中使用过),但它确实有用。pandas是一个巨大的单体包,依赖于其他巨大的单体包;您可以在这里完成的工作是有限度的。
添加回答
举报
