Angular 如何dockerize dotnet core角模板应用程序?
我使用dotnetcli模板创建了一个web应用程序Angular 如何dockerize dotnet core角模板应用程序?,angular,docker,.net-core,Angular,Docker,.net Core,我使用dotnetcli模板创建了一个web应用程序 dotnet new anguar Web 现在我想将此应用程序dockerize。我将以下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 # Co
dotnet new anguar Web
现在我想将此应用程序dockerize。我将以下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 .
然后在项目文件夹中运行以下命令
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 .
但我得到了以下错误:
/app/Web.csproj的还原在5.01秒内完成。
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
要构建这个简单应用程序的映像,我必须做些什么?对于Angular,您需要nodejs和npm,这似乎是缺失的。将此添加到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
有关更多详细信息,请参阅博客文章您似乎没有安装节点,或者它不在您的路径中。如果您只是运行npm--version是否有效?@Andy是的,我已经安装了node。安装的版本是6.9.0。我可以在我的开发机器上本地运行和调试应用程序。我在尝试为应用程序构建docker容器时遇到了我提到的错误。非常感谢。它与angular 6的以下更新配合得非常好: