Как я могу использовать изображение .Net Core 3.0 в Google Cloud? - PullRequest
1 голос
/ 22 октября 2019

Я использую Google Cloud для размещения своего приложения .Net Core 2.2, но я хочу обновить его до 3.0. Мой app.yaml выглядит следующим образом

service: api
runtime: aspnetcore
env: flex

Я знаю, что могу указать версию .Net Core в разделе runtime. Но в реестре облачных контейнеров Google нет .Net Core 3.0. Я проверил это здесь .

Должен ли я сделать специальный контейнер тогда? У меня нулевой опыт работы с docker. Возможно, есть какой-то готовый контейнер.

Я не нашел ни одной дорожной карты для обновления образов .Net Core в общедоступном реестре контейнеров.

1 Ответ

1 голос
/ 22 октября 2019

Поскольку вы уже используете гибкую среду, одним из возможных решений было бы установить для среды выполнения значение custom, а затем с помощью Dockerfile указать желаемый образ, которым в данном случае является .Net Core 3.0.

Например, файл app.yaml может быть переписан следующим образом:

service: api
runtime: custom
env: flex

Мы также можем написать Dockerfile поверх примера, приведенного в официальных документах docker

FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]

Опять же, это только одно из возможных решений. У Google есть статья , в которой описываются 4 способа развертывания приложения .Net Core . Конечно, ему несколько лет, но концепции все еще должны применяться. В качестве обзора вы можете:

  • Развертывание из Visual Studio напрямую с использованием расширения Cloud Tools for Visual Studio
  • Развертывание пакета зависимого от платформы развертывания с помощью "публикации dotnet"
  • Развертывание в гибкую среду App Engine с настраиваемым Dockerfile
  • Развертывание в обработчик контейнеров с настраиваемым Dockerfile
...