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

Docker中Nginx提示找不到上游主机dev-server.com的问题排查

问题描述

我使用Docker部署的Nginx作为反向代理,配置如下:

location /dev {
   proxy_pass http://dev-server.com;
}

启动Docker时出现错误:

host not found in upstream "dev-server.com" in /etc/nginx/conf.d/internal/dev-endpoints.conf

该配置此前运行正常,但因Mac上的Docker出现问题重装后,就出现了上述错误。通过浏览器访问该路由可正常获取响应。Docker版本为v2.32.1,请问可能的问题原因是什么?

可能的问题原因
  • Docker容器DNS配置异常:重装Docker后,容器的DNS服务器设置可能被重置。Mac上Docker默认复用宿主机DNS,但如果宿主机DNS配置变动,或Docker被设置为使用无法解析dev-server.com的公共DNS(比如该域名是内部域名),就会导致Nginx启动时解析失败。浏览器能访问是因为宿主机DNS可正常解析,但容器DNS不行。
  • Nginx启动阶段解析时机问题:Nginx启动时会预解析上游域名,若容器启动时网络未完全就绪,或DNS解析延迟,就会触发错误。之前正常可能是网络初始化更快,重装后Docker网络栈初始化逻辑变化,导致启动时解析超时。
  • Docker网络模式变更:重装后Docker默认网络模式可能被修改(比如从bridge切换到其他模式),导致容器无法访问外部DNS服务器或解析内部域名。
  • 内部域名解析依赖的配置未继承:如果dev-server.com是内部域名,依赖宿主机/etc/hosts或本地DNS,重装Docker后容器可能未正确继承这些配置。比如之前配置的extra_hosts参数被遗漏,导致容器内无法解析该域名。
  • Docker版本兼容性bug:Docker v2.32.1可能存在网络栈兼容性问题,和当前Mac系统版本不匹配,导致容器启动阶段DNS解析异常。之前的Docker版本无此问题,重装升级后触发了bug。

内容的提问来源于stack exchange,提问作者matias reyna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:42:05