Blazor .NET 6 с собственной зависимостью не может создаваться как образ докера

#docker #blazor #.net-6.0

Вопрос:

Я хочу добавить собственную зависимость в мое приложение веб-сборки Blazor, размещенное в Docker, но не могу создать образ Docker, хотя приложение отлично строится и работает за пределами Docker.

Ниже приведены шаги, которые повторяют проблему.

  1. В Visual Studio 2022 создайте приложение веб-сборки Blazor .NET 6 по умолчанию
  2. Добавьте поддержку Docker в проект
  3. Отредактируйте файл проекта, чтобы требовалась собственная ссылка, добавив следующую строку в lt;PropertyGroupgt; — lt;PropertyGroupgt;lt;WasmBuildNativegt;Truelt;WasmBuildNativegt;lt;/WasmBuildNativegt;
  4. Добавьте строку в файл Dockerfile для установки инструментов WASM — ЗАПУСТИТЕ dotnet и установите wasm-инструменты
  5. Попробуйте создать образ докера — «Ошибка: команда «emcc —версия» выполнена с кодом 1″.

Никаких других сведений об ошибках не приводится.

Ответ №1:

Для Emscripten, который используется для компиляции, требуется python, который не установлен в образе SDK.

Вы можете установить его самостоятельно в образе сборки, добавив строку

 RUN apt-get update amp;amp; apt-get install -y python3  

в вашем файле Dockerfile, где-нибудь перед сборкой или публикацией dotnet.

Комментарии:

1. Здорово. Это решило проблему. Спасибо!

2. @mikejos Отлично! Было бы неплохо, если бы вы приняли ответ, чтобы другие пользователи с той же проблемой могли видеть, что ответ сработал.