为什么 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