我有几个项目,他们必须在单独的容器中运行,我有一些共享库也应该是buit.我发现了以下文章如何做到这一点.我将仅显示一个项目的docker文件,因为它们非常相似:
FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.0 AS builder
WORKDIR /src
COPY *.sln ./
COPY Web/Web.csproj Web/
RUN dotnet restore
COPY . .
WORKDIR /src/Web
RUN dotnet build -c Debug -o /app
FROM builder AS publish
RUN dotnet publish -c Debug -o /app
FROM base AS production
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Web.dll"]
因此,您可以看到使用多阶段建筑.如果我使用,docker-compose up那么一切正常.接下来,我试图通过Visual Studio运行它,我看到Output窗口中的所有步骤,但最后我收到以下错误:
目标进程退出但未引发CoreCLR启动事件.确保将目标进程配置为使用.NET Core.如果目标进程未在.NET Core上运行,则可能会出现这种情况.程序'[13] dotnet'退出代码145(0x91).程序''已退出代码145(0x91).
但是现在如何调试应用程序呢?这是github repo的链接.
PS.对于Tarun,VS生成的默认docker文件
FROM microsoft/aspnetcore:2.0
ARG …