docker - Docker - 从私有 gitlab 存储库中提取库
问题描述
我正在尝试创建 python 的 Docker 映像并添加由我的公司创建并托管在 gitlab(非公共)上的 python 库。
我的 Docker 文件是:
FROM continuumio/anaconda3
RUN apt-get update
RUN apt-get install -y curl
RUN pip install --upgrade pip
RUN pip install https://gitlab.criteois.com/ax-analytics/CriteoPy/repository/pep_8/archive.zip
WORKDIR home
CMD ["python3", "main.py"]
看起来步骤 5/7 失败了:
Step 5/7 : RUN pip install https://gitlab.criteois.com/ax-analytics/CriteoPy/repository/pep_8/archive.zip
---> Running in 8f04623ef493
Collecting https://gitlab.criteois.com/ax-analytics/CriteoPy/repository/pep_8/archive.zip
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f8f926ae0f0>: Failed to establish a new connection: [Errno -5] No address associated with hostname',)': /ax-analytics/CriteoPy/repository/pep_8/archive.zip
The command '/bin/sh -c pip install https://gitlab.criteois.com/ax-analytics/CriteoPy/repository/pep_8/archive.zip' returned a non-zero code: 1
我怀疑由于主机上的 docker 之间的网络而导致一些权限问题,因为当我运行时
cbslax@cbslax-desktop:~/Documents/DockerCriteoPy$ curl https://gitlab.criteois.com/ax-analytics/CriteoPy/repository/pep_8/archive.zip --output CriteoPy-Pep-8.zip
我无需任何输入即可下载库
解决方案
尝试将--network host参数添加到您的构建命令中。不建议这样做,但您将能够查看 Docker 默认创建的默认桥接网络是否存在问题。
例子
$ docker build <other args> --network host .
使用 --network host 参数,基本上你是在告诉 Docker 使用你的本地网络而不是它创建的默认网桥。
推荐阅读
- reactjs - Retorno:TypeError:无法读取未定义的属性“长度”
- jquery - 通过 jQuery 向 Flask 发送不一致的数据类型请求
- python - 如何将所有固定消息插入文件?
- javascript - 使用 Puppeteer 将数据添加到非表单字段中
- r - 当折线图和条形图来自不同的数据框时,修复 ggplot 中的图例
- php - 在 mac osx big sur 上找不到“unicode/ubrk.h”文件
- node.js - 尽管 node.js 发生了许多变化,但仍不会消失的错误
- python - Python 使用 einsum 理解数组形状
- c# - ITMS-90809:不推荐使用 API 尝试使用 Xamarin iOS 部署 admob 横幅
- flutter - bulderFunctions 的 openContainer 之上的提供者