将PIP_EXTRA_INDEX_URL传递给docker build

时间:2018-10-24 17:48:32

标签: python docker pip

我正在构建一个在私人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不返回任何内容。

怎么了?

1 个答案:

答案 0 :(得分:1)

您应将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 .

如果您想了解更多信息,请看看this article