我正在嘗試通過 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 install && npm run build:dll && npm start ---> 在 86a2e1e8efcf [91m/bin/sh: 1: npm: not found [0mThe命令“/bin/sh -c cd src/stayfolio.Demo.Web.aroundfollie && npm install && npm run build:dll && npm start”回傳非零代碼:127
正如你可以看到我的 docker 檔案,我提到了&& npm install && npm run build:dll && npm start,但是為什么錯誤說npm: not found?
uj5u.com熱心網友回復:
默認情況下,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.NET CORE 2.1 Docker build 中也描述了這種方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318564.html
上一篇:主機網路沒有包含docker主機網路模型的介面IP的IP段
下一篇:Docker僅在埠80上運行
