导语:记录自己比较几个构建镜像的方式以及清理缓存的方式对镜像大小造成的影响。
image1
# 第一个阶段基于python做构建
FROM python:3.7.7
# 安装web.py,fasttext,然后删除临时文件(下面直接拷贝site-packages,避免冗余)
RUN pip install web.py==0.51 && pip install fasttext && find /usr/local/lib -name '*.pyc' -delete
image2
这个仅拷贝了/usr/local/lib/python3.7/site-packages
# 第一个阶段基于python做构建
FROM python:3.7.7 as builder
# 安装web.py,fasttext,然后删除临时文件(下面直接拷贝site-packages,避免冗余)
RUN pip install web.py==0.51 && pip install fasttext && find /usr/local/lib -name '*.pyc' -delete
# 第二个阶段基于slim做构建
FROM python:3.7.7-slim
# 拷贝编译好的库
COPY --from=builder /usr/local/lib/python3.7/site-packages /usr/local/lib/python3.7/site-packages
RUN mkdir /apps
WORKDIR /apps
image3
# 第一个阶段基于python做构建
FROM python:3.7.7
# 安装web.py,fasttext,然后删除临时文件(下面直接拷贝site-packages,避免冗余)
RUN pip install web.py==0.51 -i https://pypi.tuna.tsinghua.edu.cn/simple && pip install fasttext -i https://pypi.tuna.tsinghua.edu.cn/simple && find /usr/local/lib -name '*.pyc' -delete && rm -rf /root/.cache/pip/
image4
# 第一个阶段基于python做构建
FROM python:3.7.7
# 安装web.py,fasttext,然后删除临时文件(下面直接拷贝site-packages,避免冗余)
RUN pip install web.py==0.51 -i https://pypi.tuna.tsinghua.edu.cn/simple && pip install fasttext -i https://pypi.tuna.tsinghua.edu.cn/simple && find /usr/local/lib -name '*.pyc' -delete
RUN rm -rf /root/.cache/pip/
分层之后再执行删除缓存好像没有用了。