且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

asp.net core 2.0 - 多项目解决方案docker文件

更新时间:2022-01-10 05:55:24

我终于找到了如何使用 docker 构建解决方案的方法.

I finally found a way how to built solutions with docker.

重要提示:为此,您必须将 Dockerfile 文件放入解决方案文件所在的同一位置

我刚刚创建了一个包含以下内容的 docker 文件:

I've just created a docker file with the following content:

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY Solution.sln ./
COPY ClassLibraryProject/*.csproj ./ClassLibraryProject/
COPY WebAPIProject/*.csproj ./WebAPIProject/

RUN dotnet restore
COPY . .
WORKDIR /src/ClassLibraryProject
RUN dotnet build -c Release -o /app

WORKDIR /src/WebAPIProject
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebAPIProject.dll"]

请注意,我认为您可能必须尊重项目构建依赖项,但我真的不知道.

Note that I think you may have to respect project build dependencies but I don't know really.

构建调用示例:

sudo docker build --no-cache -t webapi:dev .

要运行的示例调用:

sudo docker run -d=false -p 8080:80 --name webapi webapi:dev

希望有所帮助.