为ASP.NET Core 2.1角度项目配置Dockerfile

eSP*_*iYa 6 docker .net-core docker-for-windows asp.net-core-2.0 angular

我是Docker的新手,目前正在尝试使用Angular项目创建ASP.NET Core 2.1.我在Docker for Windows上使用Linux容器,我的IDE是VS2017社区版.

目前,我收到此错误:

[1]确保已安装'npm',并且可以在其中一个PATH目录中找到.当前PATH环境变量是:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin确保可执行文件位于其中一个目录中,或者更新PATH .

我相信我需要在我的Docker实例中安装Node.js或者你调用它的任何东西,它应该通过Dockerfile.请在我的假设中指出我的错误.以及如何确保安装依赖项,无论我使用什么样的容器?我期待我未来的项目将安装在不同的平台上.

Mar*_*cel 12

在microsoft/dotnet:2.1-aspnetcore-runtime容器映像中未安装npm/nodejs.要在容器中安装它,请更新docker文件

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base

# Setup NodeJs
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
# End setup

WORKDIR /app
EXPOSE 80
Run Code Online (Sandbox Code Playgroud)

只有Angular CLI实时重新加载不起作用.

  • 您可能还需要在第二个容器上添加代码以安装节点,即.之后:`FROM microsoft/dotnet:2.1-sdk AS build`如果你得到类似'模块构建失败的消息:错误:缺少绑定/src/myapp.UI/ClientApp/node_modules/node-sass/ ..'尝试添加以下:`FROM build AS发布WORKDIR /src/myapp.UI/ClientApp RUN npm rebuild node-sass --force WORKDIR /src/myapp.UI RUN dotnet发布myapp.UI.csproj -c Release -o/app` (4认同)