通过 docker-compose 运行“pip install”时出现 ConnectTimeoutError

Tec*_*ins 5 python pip docker docker-compose

我是 docker 新手,目前正在尝试为我的 Django 项目构建图像。这是我的Dockerfile

FROM python:3.8.5-alpine
WORKDIR /my_project

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt

COPY . .
Run Code Online (Sandbox Code Playgroud)

当我运行时docker-compose build,执行在第二个 pip 命令处中断,并出现以下错误;

警告:连接因 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2b21bd1610>, ' 中断后重试(重试(total=3,connect=None,read=None,redirect=None,status=None))与 pypi.org 的连接超时。(连接超时=15)')': /simple/asgiref/

一些背景:

操作系统:Ubuntu 20.04.1 LTS内核:Linux 5.8.0-34-generic

docker --versionDocker 版本 20.10.2,内部版本 2291f61

docker-compose --versiondocker-compose 版本 1.27.4,内部版本 40524192

我在网上遇到了很多类似的问题,但他们相应的解决方案都不适合我。我非常乐意分享帮助排除故障所需的任何其他信息。

小智 6

听起来构建 Docker 容器时网络连接存在一些问题。用作Host撰写文件内的网络来解决问题。

version: '3.4'
services:
  django_image:
    build:
      context: .
      network: host
Run Code Online (Sandbox Code Playgroud)

尝试一下,它就能解决问题。