Сборка и публикация образа Docker в Prod Env с использованием Asp.Net Core - PullRequest
0 голосов
/ 13 мая 2018

Я немного озадачен тем, как мне нужно создать образ для проекта Asp.Net Core для производственной среды, потому что он должен использовать aspnetcore образ вместо aspnetcore-build, кто-то может объяснить мне, как лучшеспособ создания и передачи образа для производственной среды, пожалуйста?

Я построил решение в режиме release, но я не уверен, что VS создал образ, используя aspnetcore изображение, поскольку, когда яопубликованный Docker сказал, что монтирует образ из aspnetcore-build образа.

1 Ответ

0 голосов
/ 06 июня 2018

Я уже понял это. Visual Studio использует многостадийную сборку Docker при создании файла Docker, поэтому, когда он создает образ Docker, в конце он использует образ aspnetcore, который является последней сборкой этапа, объявленной в файле Docker, и он использует стадию base, которая на самом деле является aspnetcore изображением. Это пример:

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

FROM microsoft/aspnetcore-build:2.0.5-2.1.4 AS build
WORKDIR /src
COPY . .
RUN dotnet restore -nowarn:msb3202,nu1503
WORKDIR /src/src/Services/Catalog/Catalog.API
RUN dotnet build --no-restore -c Release -o /app

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

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

Итак, рекомендуемый способ построения и публикации образа Docker - это наш процесс CI / CD, а не вручную.

...