Azure Настройка службы приложений ASPNETCORE_ENVIRONMENT = Результат разработки в 404 - PullRequest
1 голос
/ 18 марта 2020

Я замечаю эту проблему при развертывании моего asp. net ядра MVC приложения docker образа в Azure Службе приложений. Либо настройка ASPNETCORE_ENVIRONMENT в Dockerfile ENV ASPNETCORE_ENVIRONMENT Development, либо настройка docker -compose

    environment:
      - ASPNETCORE_ENVIRONMENT=Development

Я всегда получаю 404 при доступе к веб-сайту.

Странная часть в том, что если я установлю ASPNETCORE_ENVIRONMENT к любому другому значению (Staging, Production, et c.), 404 пропадут, и к веб-сайту можно будет обращаться нормально

Как воспроизвести:

  1. Создание проекта asp. net core MVC (просто создайте голый проект, не меняйте код и не добавляйте лог c)

  2. Создайте этот проект на локальном компьютере (Dockerfile, как показано ниже)

FROM microsoft/dotnet:2.2-sdk AS build-env
WORKDIR /app
# Copy necessary files and restore
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM microsoft/dotnet:2.2-aspnetcore-runtime
COPY --from=build-env /app/out .
# Start
ENV ASPNETCORE_ENVIRONMENT Development
ENTRYPOINT ["dotnet", "CICDTesting.dll"]
Pu sh это изображение в Azure реестр контейнеров У меня есть веб-крючок, подключенный к службе приложений, поэтому развертывание будет запускаться автоматически Из потока журнала я вижу изображение успешно загружено, и контейнер запущен и работает Доступ к веб-сайту, тогда он дает 404 Если я изменяю ENV ASPNETCORE_ENVIRONMENT Разработка на ENV ASPNETCORE_ENVIRONMENT Этап и повторение шагов сборки и развертывания, веб-сайт будет доступен.

То же самое, если я удалю ENV ASPNETCORE_ENVIRONMENT Разработка из Dockerfile и настройка его в docker -compose

...