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

Docker Compose部署下Hosted Service通过MassTransit连接RabbitMQ失败求助

问题根因

从错误日志可直接定位核心问题:MassTransit的RabbitMQ连接地址配置错误

  • 日志显示程序尝试连接 localhost:5672,在Docker Compose部署场景下,每个容器的localhost指向自身,无法访问到同网络下的RabbitMQ服务容器
  • 你在本地能正常打开RabbitMQ管控台,是因为做了宿主机到RabbitMQ容器的端口映射,从宿主机访问localhost:15672会转发到RabbitMQ容器,但容器内部服务之间的访问不能走宿主机端口映射
修复方案
  1. 修改appsettings.json里的MassTransit RabbitMQ连接地址,将原来的localhost替换为你配置的RabbitMQ容器主机名rabbitmq,最终连接地址为 rabbitmq://rabbitmq:5672/,用户名、密码和vhost保持原有配置即可
  2. 建议在docker-compose.yaml的hostedservice配置段中添加启动依赖,避免RabbitMQ未启动完成就启动业务服务导致首次连接失败,修改后配置如下:
hostedservice:
  environment:
    - ASPNETCORE_ENVIRONMENT=development
  ports:
    - "80"
  depends_on:
    - rabbitmq3
  1. 重启整个Docker Compose服务即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:03