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

Docker无法连接服务:Sentry Onpremise Relay DNS解析失败求助

解决Sentry Onpremise Relay组件DNS解析失败的问题

首先,你的思路方向是对的——问题根源就是Docker容器继承了主机上那个无效的DNS服务器(web.router703710.com),导致Relay组件无法正常解析域名完成认证。下面给你几个可行的解决方案,按优先级排序:

1. 直接在Sentry Onpremise的Docker Compose配置中指定DNS

这是最针对性的方法,只修改Sentry相关容器的DNS设置,不影响其他Docker应用:

  • 打开Sentry Onpremise目录下的docker-compose.yml文件
  • 找到relay服务的配置块,添加dns字段,指定你的可用DNS服务器(比如你提到的192.168.1.1):
services:
  relay:
    # 其他现有配置保持不变
    dns:
      - 192.168.1.1
      # 可以再加备用DNS,比如公共的8.8.8.8
      - 8.8.8.8
  • 重启Relay容器:docker-compose up -d relay

关于你提到的network_mode: host,这个方法虽然能让容器直接用主机的网络栈(包括主机的DNS),但如果主机本身的DNS配置里还是包含那个无效的Cisco域名,问题可能依然存在。而且用host网络会失去Docker容器网络的隔离性,除非必要,更推荐上面的dns字段配置。

2. 修改Docker Daemon全局DNS设置(全局生效)

如果希望所有Docker容器都默认使用可靠的DNS,可以修改Docker的全局配置:

  • 编辑Docker daemon配置文件(Linux下通常是/etc/docker/daemon.json,Windows/macOS可以在Docker Desktop设置里找到对应选项)
  • 添加或修改dns字段:
{
  "dns": ["192.168.1.1", "8.8.8.8"]
}
  • 重启Docker服务:
    • Linux:sudo systemctl restart docker
    • Docker Desktop:直接重启应用即可
  • 然后重启Sentry容器:docker-compose up -d

3. 验证DNS配置是否生效

修改后可以进入Relay容器验证DNS是否正常工作:

# 进入Relay容器
docker exec -it <relay_container_name> sh
# 测试域名解析
nslookup getsentry.com

如果返回正确的IP地址,说明DNS配置已经生效。

另外,建议检查主机本身的DNS配置,确保主机也没有使用那个无效的web.router703710.com作为DNS服务器——可以通过cat /etc/resolv.conf(Linux)或系统网络设置(Windows/macOS)查看,避免后续其他应用也遇到类似问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:47:55