Docker Desktop 无法与本地 CNTLM 代理一起使用

Docker Desktop 无法与本地 CNTLM 代理一起使用

我在设置本地开发环境时遇到了麻烦。我想在本地 CNTLM 代理后面的 Windows 10 计算机上使用 Docker Desktop。

我的 CNTLM 代理工作正常。这是我启动 CNTLM 后的输出

0 [main] cntlm 17620 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer.  Please report this problem to
the public mailing list [email protected]
section: global, Username = 'pd03056'
section: global, Domain = 'Provinzial'
section: global, Proxy = '192.168.10.10:80'
section: global, NoProxy = 'localhost, 127.0.0.*, 10.*, 192.168.*'
section: global, Listen = '0.0.0.0:3128'
Resolve 0.0.0.0:
  -> 0.0.0.0
cntlm: Proxy listening on 0.0.0.0:3128
Adding no-proxy for: 'localhost'
Adding no-proxy for: '127.0.0.*'
Adding no-proxy for: '10.*'
Adding no-proxy for: '192.168.*'
cntlm: Workstation name used: L00265511WP
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
Password:
cntlm: PID 17620: Cntlm ready, staying in the foreground

我确认这可以从执行的本地 WSL 实例中工作curl www.google.de。我有一个本地 ~/.curlrc 文件,将 curl 指向我的 CNTLM。

$ more ~/.curlrc
-x 127.0.0.1:3128
cacert = /path/to/my/trusted-certs.pem

$ curl www.google.de
# I skip the whole output here ...
# The CNTLM log shows that it communicates with google.de
# and I ger the correct result in WSL

现在我的问题来了...我的 Docker Desktop 安装(版本 4.4.4 [73704])也应该使用此代理。我通过http://host.docker.internal:3128在“设置”->“资源”->“代理”中输入 HTTP 和 HTTPS 代理来配置 Docker Desktop。但我总是收到错误。

docker run从我的视窗终端导致此消息

PS C:\Users\pd03056> docker run -it --rm hello-world:latest
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": remote error: tls: handshake failure.
See 'docker run --help'.

CNTLM 日志也没有说明任何内容。所以 Docker Desktop 不使用我的 CNTLM!host.docker.internal解析为我的工作站的正确 IP。将127.0.0.1或替换localhosthost.docker.internal不会改变任何内容。

有人知道为什么我的 Docker Desktop 安装没有选择代理配置吗?

相关内容