【发布时间】:2021-06-05 07:14:51
【问题描述】:
去年有一个similar question,但我认为这些回复并不广泛适用,因此不被接受。
编辑:这是在开发仅在内部 docker 中运行的小型作业的背景下;我不是在谈论与小团队以外的任何人分享工作,也不是在谈论被大量重用的项目。
在 Dockerfile 中使用 requirements.txt 代替 pip install 命令安装有什么好处?我看到一个:您用于各种项目的 Dockerfile 更加千篇一律。
我什至没有考虑使用我链接的问题中设想的设置。
在 Dockerfile 中命名包有什么缺点:
RUN pip install --target=/build django==3.0.1 Jinja2==2.11.1 . . .
编辑 2:@superstormer 询问“将其放入 Dockefile 有什么好处”——公平的问题。我在 Gitlab 中阅读了同事的 dockerfile,并且必须导航到需求,我在本地的编辑器中没有它。 EDIT3:自我注意:所以克隆它并在编辑器中查看它。
【问题讨论】:
-
simple, "更好的维护" ,你不需要去 docker 文件看看在 docker env 中安装哪个包在单个或多个 lvl
-
还有一个 requirements.txt 允许你设置你的本地开发机器以及其他任何愿意贡献的人
-
@sahasrara62,如果您正在查看 Dockerfile,则无需访问 requirements.txt。还有 requirements.txt 你可以不用。我不知道你所说的单级/多级是什么意思,这可能就是我没有得到你所看到的优势的原因。
-
将它保存在 Dockerfile 中有什么好处?但是,如果您将需求放在 reqs.txt 中,则更容易一目了然地准确了解需求。
-
@LevinMagruder 单/多均值,单/多级 docker env 设置。另外,假设我不想在我的项目中实现/使用 Docker,那么我怎么知道要安装哪个包?所以 requirements.txt 帮助我们维护所有包并将它们安装在任何环境、生产阶段或开发或 docker 一中,而无需为不同的环境修改/编写不同的包/版本
标签: python docker docker-compose pip requirements.txt