Как докертизировать угловое шаблонное приложение dotnet core? - PullRequest
2 голосов
/ 28 июня 2019

Я создал веб-приложение, используя шаблон dotnet cli angular.

dotnet new anguar Web

Теперь я хочу докеризировать это приложение.Я добавил следующий Dockerfile в папку проекта.

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Web.dll"]

, а затем выполнил следующую команду, находясь в папке проекта.

sudo docker build -t accman-web .

Но я получаю следующую ошибку:

Восстановление завершено за 5,01 с для /app/Web.csproj.Web -> /app/bin/Release/netcoreapp2.2/Web.dll Web -> /app/bin/Release/netcoreapp2.2/Web.Views.dll / bin / sh: 2: /tmp/tmpa49d981806144cfd8e2cbdde42404952.exec.cmd: npm: не найдено /app/Web.csproj(46,5): ошибка MSB3073: команда «npm install» завершена с кодом 127. Команда «/ bin / sh -c dotnet publish -c Release -o out»вернул ненулевой код: 1

Что мне нужно сделать, чтобы создать образ этого простого приложения?

1 Ответ

4 голосов
/ 28 июня 2019

Вам нужны nodejs и npm для Angular, который, похоже, отсутствует.Добавьте это в ваш Dockerfile для установки nodejs и npm в контейнере:

RUN apt-get update && \
    apt-get install -y wget && \
    apt-get install -y gnupg2 && \
    wget -qO- https://deb.nodesource.com/setup_6.x | bash - && \
    apt-get install -y build-essential nodejs

См. это сообщение в блоге для получения более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...