首页 > 解决方案 > 将 PIP_EXTRA_INDEX_URL 传递给 docker build

问题描述

我正在构建一个依赖于私有 Pypi 服务器的应用程序。

我的 Dockerfile 看起来像这样:

FROM python:3.6

WORKDIR /src/mylib

COPY . ./

RUN pip install .

我希望 pip 使用额外的服务器来安装依赖项。所以我试图PIP_EXTRA_INDEX_URL在构建阶段传递环境变量,如下所示:

"docker build --pull -t $IMAGE_TAG --build-arg PIP_EXTRA_INDEX_URL=$PIP_EXTRA_INDEX_URL ." 

由于某种原因,它没有按预期工作,并且RUN echo $PIP_EXTRA_INDEX_URL没有返回任何内容。

怎么了?

标签: pythondockerpip

解决方案


你应该添加ARG到你的Dockerfile. 您的 Dockerfile 应如下所示:

 FROM python:3.6

 ARG PIP_EXTRA_INDEX_URL 
 # YOU CAN ALSO SET A DEFAULT VALUE: 
 # ARG PIP_EXTRA_INDEX_URL=DEFAULT_VALUE

 RUN echo "PIP_EXTRA_INDEX_URL = $PIP_EXTRA_INDEX_URL"
 # you could also use braces - ${PIP_EXTRA_INDEX_URL}

 WORKDIR /src/mylib     
 COPY . ./     
 RUN pip install .

如果您想了解更多信息,请查看这篇文章


推荐阅读