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

WhatsApp Business API单实例开发环境配置后9090端口无法访问

问题排查步骤

  • 第一步:核对docker-compose.yml中的MySQL服务名称
    报错getaddrinfo for host "db" port 3306: Name or service not known的核心原因是Docker内部DNS无法解析db这个主机名,首先确认你配置文件里定义的MySQL服务名是不是db,如果服务名是mysql等其他值,需要把db.env里的WA_DB_HOSTNAME改成和服务名一致的内容。
  • 第二步:检查MySQL容器运行状态
    执行命令docker ps -a查看所有容器的运行状态,确认名为db(或者你实际的MySQL服务名)的容器是不是处于运行中状态:
    • 如果容器是Exited退出状态,执行docker-compose logs db查看MySQL启动报错日志,常见问题包括本地3306端口被占用、MySQL数据目录权限不足、初始化密码配置错误等,根据报错修复后重启服务即可。
    • 如果容器处于运行中状态,执行docker exec -it <db容器ID> mysql -uroot -ptestpass验证能不能正常登录MySQL,确认账号密码配置和db.env一致。
  • 第三步:校验Docker网络配置
    确认WhatsApp Business API相关服务和MySQL服务在同一个Docker Compose网络下,如果你是分开启动的两个服务,Docker内部DNS无法跨网络解析主机名,需要将两个服务放在同一个docker-compose.yml中启动,或者手动将两个容器加入同一个自定义Docker网络。
  • 第四步:调整服务启动顺序
    报错MySQL is not up yet - sleeping说明Web服务启动时MySQL还没完成初始化,depends_on配置只能保证容器启动顺序,不能保证MySQL服务就绪,你可以给MySQL服务增加健康检查配置,确保Web服务等MySQL完全可用后再启动:
    services:
      db:
        image: mysql:8.0
        # 其余原有db配置保留
        healthcheck:
          test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uroot", "-ptestpass"]
          timeout: 20s
          retries: 10
      wacore:
        # 原有配置保留
        depends_on:
          db:
            condition: service_healthy
      waweb:
        # 原有配置保留
        depends_on:
          db:
            condition: service_healthy
    

配置调整完成后执行docker-compose down && docker-compose up -d重启所有服务即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:06:02