是否可以通过ADD命令将虚拟环境数据从本地主机传输到docker镜像?
我宁愿用户在本地完成所有这些操作,而只是将虚拟环境转移到容器中,而不是在容器内进行pip安装。当然,所有文件都在本地与docker容器中的名称相同,并且所有目录都正确嵌套。
如果可以将虚拟环境设置转换为泊坞窗图像,则可以节省几分钟到几小时。也许我在错误的摘要中考虑这个问题。
通过传递到容器中的requirements.txt进行pip安装感觉非常低效,而不是在本地完成,否则每次启动映像时都必须重新安装相同的依赖项。没有改变每个图像的构建。
答案 0 :(得分:3)
我们之前遇到过这个问题,以下是我们考虑的一些事项:
根据项目的复杂程度,可能比其他项目更合适 - 您也可以考虑使用混合方法来找到最大化优化。
答案 1 :(得分:1)
尽管可能,但不建议这样做。
要仅在requirements.txt更改时触发pip安装,Dockerfile应该以这种方式启动:
...
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY src/ ./
...
此外,它仅在图像构建上运行,而不是在容器启动时运行。
如果您有多个具有相同依赖关系的容器,则可以使用所有依赖关系构建中间映像,并构建其他映像FROM
。