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

Docker DinD环境下Curl DNS解析异常问题求助

Docker DinD环境下Curl DNS解析异常问题求助

大家好,我最近碰到一个很费解的问题,想请各位帮忙分析下原因:

我正在运行一个docker:20.10.7-dind容器,里面部署了一套多容器应用,包含一个backend容器和一个keycloak容器。

我进入backend容器后做了一系列测试,结果如下:

1. 查看DNS配置文件

back$ cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0

2. 查看名称服务切换配置

back$ cat /etc/nsswitch.conf
hosts: files dns

3. DNS解析测试(nslookup & host)

这两个命令都能正确把keycloak.localhost解析到172.20.0.10:

back$ nslookup keycloak.localhost
Server:     127.0.0.11
Address:    127.0.0.11#53

Non-authoritative answer:
Name:   keycloak.localhost
Address: 172.20.0.10

back$ host keycloak.localhost
keycloak.localhost has address 172.20.0.10

4. 端口连通性测试(nc)

nc命令也能成功连接到keycloak容器的443端口:

back$ nc keycloak.localhost 443 -vvv
keycloak.localhost (172.20.0.10:443) open

问题所在:Curl解析异常

但是当我用curl访问https://keycloak.localhost时,它居然错误地把域名解析到了127.0.0.1,导致连接失败:

back$ curl https://keycloak.localhost -v
*   Trying 127.0.0.1:443...
* connect to 127.0.0.1 port 443 failed: Connection refused
*   Trying [::1]:443...
* Immediate connect fail for ::1: Address not available
* Failed to connect to keycloak.localhost port 443 after 0 ms: Couldn't connect to server
* Closing connection 0
curl: (7) Failed to connect to keycloak.localhost port 443 after 0 ms: Couldn't connect to server

临时解决方法

如果手动给curl指定解析规则(用--resolve参数),就能正常访问keycloak服务:

back$ curl https://keycloak.localhost -v --resolve keycloak.localhost:443:172.20.0.10
* Added keycloak.localhost:443:172.20.0.10 to DNS cache
* Hostname keycloak.localhost was found in DNS cache
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 172.20.0.10:443...
* Connected to keycloak.localhost (172.20.0.10) port 443 (#0)
> GET / HTTP/2
> Host: keycloak.localhost
> user-agent: curl/8.0.1
> accept: */*
>
< HTTP/2 200
...

我实在搞不明白为什么curl会出现这种和其他工具不一致的DNS解析结果,有没有大佬能给点排查方向或者线索?非常感谢!

备注:内容来源于stack exchange,提问作者ERO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:39:40