Я хочу создать скрипт в PowerShell для сборки и копирования проектов, чтобы файл docker просто запускал приложение.
На данный момент dockerfile восстанавливает пакеты NuGet, компилирует проекты и затем запускает приложение. Для этих операций это зависит от образа microsoft / dotnet: 2.2-sdk, но он слишком большой. Поэтому мне нужно переписать dockerfile, чтобы он просто взял скомпилированные проекты и запустил приложение.
Вот так выглядит мой dockerfile:
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR .
COPY ["Project.Api/Project.Api.csproj", "Project.Api/"]
COPY ["Project.Context/Project.Context.csproj", "Project.Context/"]
COPY ["Context.Common/Context.Common.csproj", "Context.Common/"]
COPY ["Project.InternalData/Project.InternalData.csproj", "Project.InternalData/"]
COPY ["Project.ProjectData/Project.ProjectData.csproj", "Project.ProjectData/"]
COPY ["Hateoas/Hateoas.csproj", "Hateoas/"]
RUN dotnet restore "Project.Api/Project.Api.csproj"
COPY . .
WORKDIR "Project.Api"
RUN dotnet build "Project.Api.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "Project.Api.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Project.Api.dll"]