为什么 Python 项目文件是在 dockerfile 中安装需求之后而不是之前复制的?
Why are Python project files copied after installing requirements in dockerfile and not before?
以https://docs.docker.com/language/python/build-images/为例:
# ...
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
# ...
对
# ...
COPY . .
RUN pip3 install -r requirements.txt
# ...
后者的缺点是什么?
Docker checks every ADD and COPY statement 查看是否有任何文件已更改并使其缓存无效,如果有,以后每隔 步骤。
因此,稍后,在您更改代码后,将重新安装所有 requirements
。
以https://docs.docker.com/language/python/build-images/为例:
# ...
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
# ...
对
# ...
COPY . .
RUN pip3 install -r requirements.txt
# ...
后者的缺点是什么?
Docker checks every ADD and COPY statement 查看是否有任何文件已更改并使其缓存无效,如果有,以后每隔 步骤。
因此,稍后,在您更改代码后,将重新安装所有 requirements
。