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

docker-compose v2 忽略$HOME/.docker/config.json代理配置如何解决

问题根因

Docker Compose V2 作为Docker CLI插件运行,默认启用BuildKit作为构建后端,而旧版Python编写的docker-compose默认使用传统Docker构建后端。两者的代理注入逻辑存在差异:传统构建后端会自动读取$HOME/.docker/config.json中的proxies配置注入构建环境,但BuildKit默认不会继承该配置,因此会出现容器内部构建时无法联网的问题。

无需绑定构建逻辑与环境的解决方案

方案1:临时关闭BuildKit执行构建

执行构建命令时添加环境变量关闭BuildKit,即可完全复用旧版docker-compose的代理配置逻辑,不需要修改任何项目文件:

DOCKER_BUILDKIT=0 docker compose build

如果需要长期生效,可以将该环境变量写入当前用户的shell配置文件(如~/.bashrc、~/.zshrc):

export DOCKER_BUILDKIT=0

方案2:保留BuildKit的前提下自动注入代理

如果你需要使用BuildKit的特性不想关闭,可以在执行构建命令时自动传入本地代理配置,不需要修改项目内的Dockerfile或docker-compose.yml:

docker compose build \
  --build-arg http_proxy="$http_proxy" \
  --build-arg https_proxy="$https_proxy" \
  --build-arg no_proxy="$no_proxy"

你也可以将该命令设置为shell别名,不需要每次手动输入参数。

额外注意事项

你当前配置中的noProxy字段开头多了一个多余的逗号,可能会导致内网地址不走直连规则,建议修改为:

"noProxy": "10.225.226.0/24"

内容的提问来源于stack exchange,提问作者paweł bogaczewicz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:15:01