我最近在 Windows 11 24H2 系统上使用 Docker Desktop 运行 docker compose up -d
时,遇到了两个非常顽固的错误:
Cannot connect to the Docker daemon at npipe:////./pipe/dockerDesktop...
Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: dial tcp 127.0.0.1:XXXX: connect: connection refused
在经过多轮排查和尝试后,我终于成功解决了这些问题。这里我将梳理出有效的做法,希望能帮助到有同样困扰的朋友。
遇到的核心问题
我的问题主要集中在两点:
- Docker 客户端无法连接到 Docker 守护进程(Daemon):即使 Docker Desktop 显示正在运行,但
docker compose
命令就是连不上。 - 代理连接被拒绝:Docker 守护进程尝试通过本地代理(我用的是 Clash)连接 Docker Hub 时,连接被拒绝。更诡异的是,错误信息中的代理端口号一开始总是
7897
,即使我明明设置的是7899
。
解决方案路线图
我将按照我最终成功的步骤和排查思路,为大家提供一份详细的解决方案。
步骤 1:确认代理设置,消除端口混淆
这是解决代理问题的关键第一步。默认的“混合代理端口”可能与 HTTP(S) 代理端口造成混淆。
- 打开代理客户端,进入“端口设置”。
- 将 “混合代理端口”