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

Docker环境下API、SQL与RabbitMQ连接故障排查求助

Docker环境下多API、SQL与RabbitMQ通信异常

问题现象

  • 主API通过RabbitMQ发送的消息可在控制台及RabbitMQ管理界面正常查看,但helper API无法接收消息
  • Docker容器内的helper API异常要求连接SQL数据库,而本地环境运行该API时无需连接数据库
  • 本地环境中所有组件(两个API、SQL、RabbitMQ)通信完全正常,推测问题出在Dockerfile或Docker Compose配置中

已尝试的排查操作

  • 曾尝试在Dockerfile中添加第二个API的构建逻辑,结果两个API变成完全相同的副本,导致系统崩溃
  • 多次执行容器重建、端口配置修改、localhost地址调整、数据库删除重建、helper API重新创建等操作,均未解决问题

相关配置文件

Dockerfile

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 7166
ENV ASPNETCORE_URLS=http://+:7166

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY . .

FROM build AS publish
RUN dotnet publish "eCakeShop/eCakeShop.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .

ENTRYPOINT ["dotnet", "eCakeShop.dll"]

Docker Compose 文件

version: "3"
services:
  ecakeshop-sql:
    image: "mcr.microsoft.com/mssql/server:2022-latest"
    restart: unless-stopped
    environment:
      SA_PASSWORD: "***********"
      ACCEPT_EULA: "Y"
      MSSQL_PID: "Developer"
    ports:
      - "1434:1433"
    networks:
      - ecakeshopnet

  rabbitmq:
    image: "rabbitmq:latest"
    hostname: "rabbitmq"
    restart: unless-stopped
    ports:
      - "5672:5672"
      - "15672:15672"
    networks:
      - ecakeshopnet

  ecakeshop-api:
    restart: unless-stopped
    build: .
    environment:
      - "ConnectionStrings:eCakeShop=Server=ecakeshop-sql,1433;Database=eCakeShop;Encrypt=true;MultipleActiveResultSets=true;TrustServerCertificate=True;User=sa;Password=**********;"
      - "ASPNETCORE_ENVIRONMENT=Development"
    ports:
      - "7166:7166"
    networks:
      - ecakeshopnet
    depends_on:
      - ecakeshop-sql
      - rabbitmq
    links:
      - ecakeshop-sql

  helper-api:
    restart: unless-stopped
    build: .
    environment:
      - "ConnectionStrings:eCakeShop=Server=ecakeshop-sql,1433;Encrypt=true;MultipleActiveResultSets=true;TrustServerCertificate=True;User=sa;Password=***********;"
      - "ASPNETCORE_ENVIRONMENT=Development"
    ports:
      - "7215:7215"
    networks:
      - ecakeshopnet
    depends_on:
      - rabbitmq

networks:
  ecakeshopnet:
    driver: bridge

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:45:03