Как мне написать скрипт powershell для упрощения dockerfile? - PullRequest
0 голосов
/ 07 января 2019

Я хочу создать скрипт в 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...