Не найдена совместимая версия в контейнере

Моя ошибка в Logs Explorer, когда я развертываю свое приложение в Google Cloud>Workloads

Не удалось найти совместимую версию фреймворка

Фреймворк 'Microsoft.NETCore.App', версия '3.1.0' не был найден.

Были найдены следующие фреймворки: 5.0.4 по адресу [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Вы можете решить проблему, установив указанный фреймворк и/или SDK.

Указанный фреймворк можно найти по адресу:

https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=debian.10-x64

Мой Dockerfile:

FROM mcr.microsoft.com/dotnet/sdk

COPY . /app

WORKDIR /app

RUN dotnet publish -c Release -o out

COPY /out .

ENTRYPOINT ["dotnet", "Test.dll"]
0
задан 26 March 2021 в 18:57
1 ответ

Вариант 1: используйте sconfig

  1. Откройте запрос CMD PROMPT в качестве администратора
  2. Введите SCONFIG и нажмите ENTER
  3. Type 5 и нажмите ENTER
  4. Type M for Manual (или D for Download Only) и нажмите ENTER

, если SCONFIG IG не доступен или по-прежнему показывает окна

Вариант 2: используйте ЛОКАЛЬНУЮ ПОЛИТИКУ БЕЗОПАСНОСТИ или ГРУППОВУЮ ПОЛИТИКУ

  1. Нажмите кнопку ПУСК и введите GPEDIT.MSC и нажмите ENTER (или откройте КОНСОЛЬ УПРАВЛЕНИЯ ГРУППОВОЙ ПОЛИТИКОЙ и откройте существующий объект групповой политики или запустите новый объект)
  2. Разверните раздел КОНФИГУРАЦИЯ КОМПЬЮТЕРА > АДМИНИСТРИРОВАНИЕ > КОМПОНЕНТЫ WINDOWS > ОБНОВЛЕНИЕ WINDOWS
  3. Дважды щелкните на параметре НАСТРОЙКА АВТОМАТИЧЕСКИХ ОБНОВЛЕНИЙ
  4. Выберите пункт ОТКЛЮЧЕНО (эквивалентно MANUAL) или ENABLED и выберите нужное в раскрывающемся списке
-121--480188-

Вы не имеете доступа к HAProxy по его IP-адресу.

Вы получаете свидетельство для customer1.example.com и второе свидетельство для customer2.example.com

, Вы настраиваете записи DNS (или когда вы проверяете только в вашем хозяева файл) так, чтобы customer2.example.com и точка customer1.example.com к IP-адресу вашего HAProxy

Вы настроили и свидетельства для customer1.example.com и для customer2.example.com в crt-список

, SNI гарантирует это, когда вы будете просить https://customer1.example.com используется сертификат для customer1.example.com и при запросе https://customer2.example.com Сертификат для customer2.example.com

При запросе https ://ip-адрес у вас нет действительного сертификата. Я объяснял это раньше: Почему браузер всегда отображает сертификат только одного сервера, даже если в HAProxy настроено несколько сертификатов?

Если веб-браузер должен знать, к какому серверу он подключен, вы не делаете этого с сертификатом во фронтэнде, Это можно сделать, задав, например, заголовок и/или файл cookie

-121--479594-

Решение состоит в том, чтобы изменить файл Dockerfile следующим образом:

FROM mcr.microsoft.com/dotnet/sdk:3.1
WORKDIR /app

COPY . .

ENTRYPOINT ["dotnet", "run"]

Важно, чтобы в каталоге был файл .csproj и программа (.cs).

0
ответ дан 24 April 2021 в 02:08

Теги

Похожие вопросы