python - 将 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
没有返回任何内容。
怎么了?
解决方案
你应该添加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 .
如果您想了解更多信息,请查看这篇文章。
推荐阅读
- javascript - javascript 创建一个数组
- function - 嵌套 IIF/查找
- java - 使用 Jackson CSV 将 CSV 解析为 POJO 列表
- react-native - 关于 react-native 中的图表
- r - 给定一个有限的调色板,如何从热到冷排序,即发散
- xpages - ViewScope 变量变为空,keepsessionalive 不起作用?
- c# - 在 Outlook 365 中创建电子邮件草稿,然后将其打开以进行编辑
- c# - 可以找到错误 CS1061 “...不包含定义和扩展方法...接受类型的第一个参数”
- reactjs - 反应原生重新加载不起作用
- html - 在 google sheet modalDialog 中按下按钮为单元格赋值