Файл docker для веб-приложения blazor с интерактивностью каждого компонентаC#

Место общения программистов C#
Anonymous
Файл docker для веб-приложения blazor с интерактивностью каждого компонента

Сообщение Anonymous »

У меня есть решение с некоторыми проектами, такими как приложение WPF, библиотека классов .net и консольная программа. Я только что добавил новый проект Blazor. Я выбрал «Веб-приложение Blazor» с интерактивной WebAssembly и расположением каждого компонента. Шаблон сгенерировал два проекта. Один с именем, которое я дал, а другой с суффиксом «Клиент».
Когда я нажимаю кнопку воспроизведения в Visual Studio, он делает все: от компиляции до запуска хоста и открытия браузера, чтобы я увидел красивое «Hello World». сайт.
Теперь я хочу разместить это приложение в Docker на компьютере с Linux.
Для этого я написал этот файл Docker:

Код: Выделить всё

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
COPY . .
RUN dotnet restore PvPower.WebApp/PvPower.WebApp/PvPower.WebApp.csproj
RUN dotnet restore PvPower.WebApp/PvPower.WebApp.Client/PvPower.WebApp.Client.csproj
RUN dotnet publish PvPower.WebApp/PvPower.WebApp/PvPower.WebApp.csproj -c release --no-restore

FROM mcr.microsoft.com/dotnet/aspnet:8.0
COPY --from=build PvPower.WebApp PvPower.WebApp
COPY --from=build PvPowerReader.sln PvPowerReader.sln
ENTRYPOINT ["dotnet", "run --project PvPower.WebApp/PvPower.WebApp/PvPower.WebApp.csproj --no-build -c release"]
Но я получаю следующее сообщение об ошибке:

Код: Выделить всё

The command could not be loaded, possibly because:
* You intended to execute a .NET application:
The application 'run --project PvPower.WebApp/PvPower.WebApp/PvPower.WebApp.csproj --no-build -c release' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.

Download a .NET SDK:
https://aka.ms/dotnet/download

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
Ошибка довольно проста: dotnet run недоступен в выбранном мной образе aspnet. Но я не хочу использовать толстый (800 МБ) SDK-образ, потому что где-то читал, что можно использовать nginx:alpine размером всего 5 МБ.
Но причина, по которой я использую dotnet run заключается в том, что с помощью команды dotnet PvPower.WebApp\PvPower.WebApp\bin\Debug\net8.0\PvPower.WebApp.dll я просто получаю этот сайт, где кажется, что что-то происходит отсутствует.
Изображение

Поэтому моя конечная цель — получить файл докера для запуска моего веб-приложения. Но мне также хотелось бы понять, почему dotnet PvPower.WebApp\PvPower.WebApp\bin\Debug\net8.0\PvPower.WebApp.dll не работает.

Подробнее здесь: https://stackoverflow.com/questions/786 ... eractivity

Вернуться в «C#»