首页 > 解决方案 > 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

我无需任何输入即可下载库

标签: dockergitlab

解决方案


尝试将--network host参数添加到您的构建命令中。不建议这样做,但您将能够查看 Docker 默认创建的默认桥接网络是否存在问题。

例子

$ docker build <other args> --network host .

使用 --network host 参数,基本上你是在告诉 Docker 使用你的本地网络而不是它创建的默认网桥。


推荐阅读