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

Docker Desktop代理环境下无法拉取镜像求助

Docker Desktop 无法拉取镜像的代理适配问题

问题现象

  • 从Docker Hub拉取镜像时报错:
    (HTTP code 500) server error - failed to resolve reference "docker.io/n8nio/n8n:latest": failed to do request: Head ...
    
  • 启用WSL2集成后在WSL2中构建镜像时报错:
    > [rag-app internal] load metadata for ghcr.io/astral-sh/uv:python3.10-bookworm:
    ------
    failed to solve: ghcr.io/astral-sh/uv:python3.10-bookworm: failed to resolve source metadata for ghcr.io/astral-sh/uv:python3.10-bookworm: failed to do request: Head "https://ghcr.io/v2/astral-sh/uv/manifests/python3.10-bookworm": proxyconnect tcp: dial tcp 127.0.0.1:9999: connect: connection refused
    
  • Windows 11和WSL2自身代理可正常使用,但Docker Desktop GUI中尝试禁用手动代理、配置http://127.0.0.1:9999或http://host.docker.internal:9999均无效。
  • 执行docker info显示代理配置正确(核心片段):
    HTTP Proxy: http://127.0.0.1:9999
    HTTPS Proxy: http://127.0.0.1:9999
    No Proxy: 172.31.*,172.30.*,172.29.*,172.28.*,172.27.*,172.26.*,172.25.*,172.24.*,172.23.*,172.22.*,172.21.*,172.20.*,172.19.*,172.18.*,172.17.*,172.16.*,10.*,192.168.*,127.*,localhost,<local>
    

解决方法

1. 修正WSL2内的代理指向

WSL2环境中127.0.0.1指向自身回环地址,而非Windows主机,需调整代理目标:

  • 获取Windows主机在WSL2中的可访问IP:
    cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
    
  • 在WSL2的~/.bashrc或~/.zshrc中添加代理配置(替换{Windows_IP}为上述获取的IP):
    export HTTP_PROXY=http://{Windows_IP}:9999
    export HTTPS_PROXY=http://{Windows_IP}:9999
    export NO_PROXY=localhost,127.0.0.1,172.16.0.0/12,192.168.0.0/16,10.0.0.0/8
    
  • 生效配置:
    source ~/.bashrc
    

2. 调整Docker Desktop代理配置

  • 打开Docker Desktop设置 → Resources → Proxies
  • 选择「Manual proxy configuration」
  • 填写:
    • HTTP Proxy: http://host.docker.internal:9999
    • HTTPS Proxy: http://host.docker.internal:9999
  • 在「No Proxy」中确保添加host.docker.internal,保留原有内网段规则
  • 点击「Apply & Restart」重启Docker Desktop

3. 检查代理软件监听设置

  • 打开代理软件设置,启用「允许局域网连接」选项
  • 确认代理监听地址为0.0.0.0:9999,而非仅127.0.0.1:9999,确保Docker容器和WSL2能访问代理

4. 重置Docker Desktop网络(终极方案)

若以上方法无效,可尝试重置Docker网络:

  • 打开Docker Desktop设置 → Troubleshoot
  • 点击「Reset to factory defaults」(注意:此操作会清除本地所有容器、镜像及配置,需提前备份)

内容的提问来源于stack exchange,提问作者K J Sora

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:35:56