带有asp.net的Docker文件在Jenkins中构建时会抛出npm not found错误 &



我正在尝试通过Jenkins构建docker文件。

FROM mcr.microsoft.com/dotnet/sdk:2.1 AS build
ARG PROFILE=Production
WORKDIR /app
COPY . ./
RUN cd src/stayfolio.Demo.Web.aroundfollie 
&& npm install && npm run build:dll && npm start
RUN dotnet restore stayfolio.Demo.Web.sln 
&& cd src/stayfolio.Demo.Web.aroundfollie 
&& mkdir -p build/outputs/aroundfollie 
&& dotnet publish --output ../../build/outputs/aroundfollie/
FROM mcr.microsoft.com/dotnet/sdk:2.1
WORKDIR /app
COPY --from=build /app/build/outputs/aroundfollie ./
CMD ["dotnet", "stayfolio.Demo.Web.aroundfollie.dll"]
然而,在构建文件时,它给出了一个错误,说

步骤5/10:运行cd src/stayfolio.Demo.Web。aroundfollie,,NPM安装&&NPM运行build:dll &npm开始——比;运行在86a2e1e8effcf[91m/bin/sh: 1: npm: not found .[0]命令/bin/sh -c cd src/stayfolio.Demo.Web。aroundfollie,,NPM安装&&NPM运行build:dll &NPM start'返回一个非零代码:127

你可以看到我的docker文件,我提到了&&NPM安装&&NPM运行build:dll &npm开始npm: not found

?

默认情况下,docker镜像mcr.microsoft.com/dotnet/sdk没有安装npm。您可以使用包管理器安装它,也可以从另一个docker映像中复制它。

的例子:

FROM node:alpine AS node_base
FROM mcr.microsoft.com/dotnet/sdk:2.1 AS build
COPY --from=node_base . .
# the rest of your Dockerfile

您在评论中提到的文章中也描述了这种方法如何集成'npm install'到ASP。. CORE 2.1 Docker build

最新更新