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

Docker Compose环境中Sentry无法捕获Laravel错误求助

排查Docker环境下Laravel无法连接Sentry的问题思路
  • 确认Sentry容器的端口配置

    • 进入Sentry容器,执行 netstat -tulpn 或 ss -tulpn,检查Sentry服务是否在0.0.0.0监听(而非仅127.0.0.1),并确认内部监听端口(默认通常是9000)
    • 核对Docker Compose中Sentry服务的ports映射规则:如果外部用9090映射到容器内部9000,那么PHP容器(同网络内)必须用内部端口9000访问,而非宿主机的9090
  • 验证容器间网络连通性

    • 进入PHP容器,执行 ping sentry(替换为你的Sentry容器名),确认能解析到IP并正常连通
    • 执行 docker network inspect app,检查Sentry和PHP容器是否都在app网络的容器列表中
    • 确保Docker Compose中每个服务都明确配置了加入app网络:
      networks:
        - app
      
  • 修正DSN配置并清除缓存

    • 将DSN中的地址改为Sentry容器名,端口改为容器内部监听端口,例如:http://c9ad8cf51cf04987f7817a38357a89d@sentry:9000/1
    • 修改.env后,执行 php artisan config:clear 清除Laravel配置缓存,再运行 php artisan sentry:test 测试
  • 检查Sentry项目配置

    • 登录Sentry界面,确认项目ID与DSN末尾的/1一致,且DSN中的公钥与项目公钥完全匹配
    • 排查Sentry是否设置了IP白名单,阻止了来自app网络的请求
  • 查看日志定位细节

    • 查看Sentry容器日志:docker logs sentry,检查是否有连接拒绝或请求错误记录
    • 查看Laravel日志storage/logs/laravel.log,获取更具体的错误信息(如DNS解析失败、端口超时等)
  • 直接测试容器内访问

    • 进入PHP容器,执行 curl http://sentry:内部端口/api/1/store/(替换为实际内部端口),若返回400 Bad Request说明网络连通正常(缺少事件数据导致),若仍为连接拒绝则需检查Sentry服务是否正常启动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:01:02