如何强制 docker build 使用 devpi 服务器来执行 pip install 命令?

Anu*_*har 5 pip docker devpi

我正在尝试使用 docker build 为基于 Flask 的 Web 应用程序构建图像。我的 Dockerfile 如下所示:

FROM beehive-webstack:latest
MAINTAINER Anuvrat Parashar <anuvrat@zopper.com>

EXPOSE 5000
ADD . /srv/beehive/

RUN pip install -i http://localhost:4040/root/pypi/+simple/ -r /srv/beehive/requirements.txt
Run Code Online (Sandbox Code Playgroud)

不带 -i 标志的 pip install 可以工作,但它会从 pypi 下载所有内容,这自然很慢。

问题是 pip 无法访问我笔记本电脑上运行的 devpi 服务器。我怎样才能实现这一目标?

Zei*_*ssS 3

localhost指的是 docker 容器,而不是您的主机RUN lines are just executed commands in the container. You thus have to use a network reachable IP of your laptop.

缺点:如果其他人没有运行 pypi 镜像,这会使您的 Dockerfile 无法移植。