cache使用原理
当某一层(layer)修改后,后面的layer都不能使用缓存
- Dockerfile修改之前:
FROM python:3.9.5-slim
COPY app.py /zhangtao/app.py
RUN pip3 install flask
WORKDIR /zhangtao
ENV FLASK_APP=app.py
EXPOSE 5000
CMD ["flask","run","-h","0.0.0.0"]
如果修改了app.py,那么后面的layer均不能使用缓存
- 调整Dockerfile的顺序
FROM python:3.9.5-slim
RUN pip3 install flask
COPY app.py /zhangtao/app.py
WORKDIR /zhangtao
ENV FLASK_APP=app.py
EXPOSE 5000
CMD ["flask","run","-h","0.0.0.0"]
调整之后pip3 install flask
就能使用缓存,从而加快镜像的构建
使用技巧
将经常变化不能使用cache的layer往后放,把变动较少的layer往前放,从而提高构建镜像的速度。
网友评论