方法 1,我在许多流行的 dockerfiles 中看到:
码头文件:
RUN apt-get install fizz=1.2.3 \
buzz=3.2.1
RUN pip install foo==1.2.3 \
bar==3.2.1
方法2,对我来说似乎合乎逻辑且正确,但我不符合:
码头文件:
RUN cat requirements.apt | xargs apt-get install
RUN pip install -r requirements.txt
要求.apt:
fizz=1.2.3
buzz=3.2.1
要求.txt:
foo==1.2.3
bar==3.2.1
尽管如此,如何在 dockerfile 中正确指定依赖项?第二种方法有什么缺点吗?
在我看来,第一种方法(与第二种方法相比)有很多优点:
但在第一种方法中,我会一次执行所有设置
RUN
并清理缓存等 - 结果层会变小。