在我們考慮如何減少Image Size同時,也要考慮到建立Image的效率,如何快速建立也是我們要考慮到的,科技始於人性的情況下,不能缺少就是效率與成本,接下來我們來探討Cache如何提高我們建立Image的效率
Cache 的功用是什麼:
CACHED
訊息我們透過實作來讓大家了解 Cache 的功用
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, world2323!'
Python Falsk Dockerfile
FROM python:3.9.5-slim
COPY app.py /src/app.py
RUN pip install flask
WORKDIR /src
ENV FLASK_APP=app.py
EXPOSE 5000
CMD ["flask", "run", "-h", "0.0.0.0"]
如果我修改了app.py 並且重新建立Image以下資訊如圖
CACHED
訊息)我修改一下Python Falsk Dockerfile
FROM python:3.9.5-slim
RUN pip install flask
WORKDIR /src
ENV FLASK_APP=app.py
COPY app.py /src/app.py
EXPOSE 5000
CMD ["flask", "run", "-h", "0.0.0.0"]
如果我修改了app.py 並且重新建立Image以下資訊如圖
CACHED
訊息,代表這兩個是沿用之前建立的資料,而且只針對COPY app.py /src/app.py 重新建立Cache 重點說明:
常修改
的指令放在不常改
的指令後面其實要把你的系統或者程式當作你在經營一間公司的老闆,不管怎樣都要以省還有快速為目標,也就是CP直要高,CP值高不就是我們大家所追的嗎,只要能對自己系統有幫助,哪怕只是小小的改變,我們都要值得去了解
參考資料:
最佳化 Dockerfile - 活用 cache
Docker容器技术从入门到精通