10.附录 Docker Desktop 代理
- 00.Docker 常用命令
- 01.Docker 起源
- 02.Docker 核心概念
- 03.Docker 入门
- 04.Dockerfile
- 05.Docker Compose
- 06.实战案例
- 07.进阶与最佳实践
- 08.总结
- 09.附录 Docker Desktop
- 10.附录 Docker Desktop 代理
10.附录 Docker Desktop 代理
一、先确认一个关键点(很重要)
Docker Desktop 在 Windows / macOS 上:
[!NOTE]
❗ 它不是“系统自动走代理”,必须在 Docker Engine 或 Desktop 设置里单独配置
另外:
-
127.0.0.1:10808 是本机代理 - Docker Desktop 运行在 WSL2/Hyper-V VM 内部
- 👉 所以 不能直接写 127.0.0.1(大多数情况会失败)
二、正确做法(推荐方案)
✅ 方法1:Docker Desktop GUI 设置代理(最简单)
步骤:
- 打开 Docker Desktop
- 进入:
1 | Settings → Resources → Proxies |
或新版:
1 | Settings → Proxies |
- 勾选:
- ✔ Manual proxy configuration
- 填入:
| 项目 | 值 |
|---|---|
| HTTP Proxy | http://host.docker.internal:10808 |
| HTTPS Proxy | http://host.docker.internal:10808 |
⚠️ 关键点
必须用:
1 | host.docker.internal |
不能用:
1 | 127.0.0.1 ❌(容器里不是宿主机) |
5. Apply & Restart Docker
必须重启 Docker Desktop
三、方法2(更稳):配置 Docker Engine JSON
适用于 GUI 不生效情况
打开:
1 | Settings → Docker Engine |
加入:
1 | { |
然后点击:
👉 Apply & Restart
四、Clash / V2Ray 必须开启的设置
如果你用 Clash:
1. 开启允许局域网访问
1 | allow-lan: true |
2. 监听地址必须是:
1 | 0.0.0.0 |
或:
1 | 0.0.0.0:1080 |
否则 Docker 访问不到。
五、测试代理是否成功(重点)
方法1:用 curl 测试
运行容器:
1 | docker run --rm curlimages/curl -I https://www.google.com |
如果代理成功,会看到:
1 | HTTP/2 200 |
或正常返回 header
方法2:测试 GitHub
1 | docker run --rm curlimages/curl https://github.com |
成功表现:
- 不超时
- 正常返回 HTML
失败表现:
- timeout
- Could not resolve host
方法3:进入容器测试环境变量
1 | docker run --rm alpine env | grep -i proxy |
如果成功,会看到:
1 | http_proxy=http://host.docker.internal:1080 |
方法4:拉镜像测试(最真实)
1 | docker pull nginx |
或:
1 | docker pull node:alpine |
如果速度明显提升 = 代理成功
六、常见问题(重点排坑)
❌ 1. 127.0.0.1 不能用
原因:
- Docker VM 内部访问的是自己,不是宿主机
✔ 用:
1 | host.docker.internal |
❌ 2. 10808 端口连不上
检查 Clash:
- 是否开启 allow-lan
- 是否监听 0.0.0.0
❌ 3. Docker pull 还是慢
可能原因:
- 代理只配置了容器,没有配置 Docker daemon
👉 需要同时配置 Engine proxy
❌ 4. DNS 仍然慢
可以加:
1 | "dns": ["8.8.8.8", "1.1.1.1"] |
七、推荐最佳配置(稳定版)
1 | { |
八、一句话总结
✔ Docker Desktop 代理正确姿势:
[!NOTE]
用host.docker.internal:10808
开启 allow-lan
测试用 curl 或 docker pull

