Docker容器Web应用配置自定义域名遇DNS错误的解决咨询
Docker容器Web应用自定义域名访问问题解决
错误原因
DNS_PROBE_FINISHED_NXDOMAIN 本质是浏览器无法解析myapp.mycompany.com对应的IP地址。你之前尝试的--add-host是给容器内部添加主机映射,只影响容器内的域名解析,和主机浏览器的解析无关;如果编辑的是容器内的/etc/hosts,同样不作用于主机。
解决步骤
1. 正确配置主机的/etc/hosts文件
在运行Docker的主机上编辑/etc/hosts(Windows系统路径为C:\Windows\System32\drivers\etc\hosts),添加一行:
127.0.0.1 myapp.mycompany.com
如果需要公司网络内其他机器也能访问,把127.0.0.1换成你的主机在公司网络中的实际IP地址(比如192.168.1.100)。
2. 清除浏览器DNS缓存
浏览器会缓存域名解析结果,即使修改了hosts,旧缓存可能依然生效:
- Chrome:访问
chrome://net-internals/#dns,点击「清除主机缓存」 - Firefox:访问
about:networking#dns,点击「清除DNS缓存」
3. 验证端口映射正确性
确保启动容器时已正确映射Jetty端口(默认8080),示例命令:
docker run -p 8080:8080 [你的镜像名称]
访问时使用myapp.mycompany.com:8080(若映射了其他端口,替换为对应端口号)。
是否需要实际DNS服务?
- 仅在本机访问:不需要公司DNS服务,只要主机
hosts配置正确即可。 - 需要公司网络内多台机器访问:有两种方案可选:
- 给每台需要访问的机器手动添加
hosts映射(适合少量机器场景) - 在公司内部DNS服务器上添加一条A记录,将
myapp.mycompany.com指向你的主机IP(适合多机器访问,更便捷)
- 给每台需要访问的机器手动添加
内容的提问来源于stack exchange,提问作者samsal77
相关产品推荐
相关产品推荐

