我使用 Rider IDE 开发 Asp.Net 多服务应用程序。
每个单独的服务都在单独的 Docker 容器中运行。 一切都通过 Docker Compose 一起运行。
当我设置断点并通过“调试”按钮开始调试时,应用程序不会在断点处停止。
调试选项卡甚至没有激活。我尝试在 Visual Studio 中运行调试。它按预期工作。
Docker文件
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["Services/Catalog/Catalog.API/Catalog.API.csproj", "Services/Catalog/Catalog.API/"]
RUN dotnet restore "Services/Catalog/Catalog.API/Catalog.API.csproj"
COPY . .
WORKDIR "/src/Services/Catalog/Catalog.API"
RUN dotnet build "Catalog.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Catalog.API.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Catalog.API.dll"]
docker-compose.yml
version: '3.4'
services:
catalog.db:
image: mongo
catalog.api:
image: ${DOCKER_REGISTRY-}catalog.api
build:
context: .
dockerfile: Services/Catalog/Catalog.API/Dockerfile
volumes:
mongo_data:
docker-compose.override.yml
version: '3.4'
services:
catalog.db:
container_name: catalog.db
restart: always
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
catalog.api:
container_name: catalog.api
environment:
- ASPNETCORE_ENVIRONMENT=Development
- "DatabaseSettings:ConnectionString=mongodb://catalog.db:27017"
depends_on:
- catalog.db
ports:
- "8000:80"