You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose构建镜像失败:pip安装requirements.txt遇Git连接超时

解决方案

1. 替换Git协议为HTTPS

直接修改requirements.txt中的仓库地址,将git://github.com/DMOJ/django-sortedm2m.git替换为https://github.com/DMOJ/django-sortedm2m.git。很多网络环境会拦截Git协议(默认使用9418端口),而HTTPS协议(443端口)通常不受限制,能避免连接超时问题。

2. 为Docker构建指定DNS服务器

如果替换协议后仍无法连接,可能是Docker容器的DNS解析异常。可以在构建时手动指定公共DNS:

sudo docker-compose build --build-arg DNS_SERVER=8.8.8.8 base

同时在base服务的Dockerfile中添加以下内容,确保容器使用指定的DNS:

ARG DNS_SERVER
RUN echo "nameserver $DNS_SERVER" > /etc/resolv.conf

注:部分基础镜像(如Alpine)的resolv.conf路径可能不同,需根据实际镜像调整。

3. 本地克隆后本地安装

若网络环境严格限制外部Git访问,可先在本地克隆仓库:

git clone https://github.com/DMOJ/django-sortedm2m.git

然后修改requirements.txt,将仓库地址替换为本地路径(确保路径相对于Dockerfile的上下文目录):

./django-sortedm2m

这样构建时Docker会直接使用本地代码,无需远程拉取。

4. 排查主机与Docker网络连通性

  • 先在主机测试能否正常克隆仓库:
git clone git://github.com/DMOJ/django-sortedm2m.git

如果主机也超时,说明是主机网络环境的问题(如防火墙、代理限制),需先解决主机网络连通性。

  • 若主机能正常克隆,尝试重启Docker服务:
sudo systemctl restart docker

重启后再重新执行构建命令,排除Docker网络服务异常的可能。

内容的提问来源于stack exchange,提问作者Telles Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:22:40