Пытаюсь сделать деплой проекта в яндекс-облако.
У них есть
уровень нетарифицируемого использования и для мини-проекта это, кажется, подойдёт.
Шаги:
1. Завёл Яндекс-Облако и Razor Pages App.
2. VS сгенерировала dockerfile. В локальном докере работает
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Public.WebStore/Public.WebStore.csproj", "Public.WebStore/"]
RUN dotnet restore "Public.WebStore/Public.WebStore.csproj"
COPY . .
WORKDIR "/src/Public.WebStore"
RUN dotnet build "Public.WebStore.csproj" -c Debug -o /app/build
FROM build AS publish
RUN dotnet publish "Public.WebStore.csproj" -c Debug -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Public.WebStore.dll"]
3. Создал Container Registry
4. Сделал Publish образа вот по этой инструкции:
https://youtu.be/L3Vk67XBRo0
6. Создал Serverless Container
7. Открываю получившийся образ и вижу в браузере вот такой результат:
{"errorMessage":"user container finished with error: signal: aborted","errorType":"UserCodeError"}
Если публиковать не в Yandex Serverless Container, а в виртуальную машину Compute Cloud, то всё работает. Но это сильно дороже, чем serverless.
Предложение-вопрос:
Давайте сделаем инструкцию, как задеплоить RazorPages проект в Yandex Serverless Container. Кто-нибудь это уже делал? Давайте попробуем. Призываю, в т.ч., специалистов Яндекса.