ASP.NET docker 中带有 JavaScript 服务的核心项目无法启动 Node



我在让站点在 docker 容器内正常运行时遇到问题。容器构建良好并运行,但是当导航到页面时,它在加载 JavaScript 服务时失败。

这是 Dockerfile

FROM microsoft/aspnetcore-build:2.0 AS builder
WORKDIR /app
ADD company_cas.pem /usr/local/share/ca-certificates/company_cas.crt
RUN update-ca-certificates
COPY company_cas.pem ./
RUN npm config set cafile company_cas.pem
# Run NPM install for dependencies
COPY package.json ./
RUN npm install
# 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 microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=builder /app/out .
ENTRYPOINT ["dotnet", "web.dll"]

我使用的是microsoft/aspnetcore-build:2.0基础映像,并且 npm 确实运行,因此据我所知安装了 Node。

失败请求的输出为 -

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
web   |       An unhandled exception has occurred: Failed to start Node process. To resolve this:.
web   |       
web   |       [1] Ensure that Node.js is installed and can be found in one of the PATH directories.
web   |           Current PATH enviroment variable is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
web   |           Make sure the Node executable is in one of those directories, or update your PATH.
web   |       
web   |       [2] See the InnerException for further details of the cause.
web   | System.InvalidOperationException: Failed to start Node process. To resolve this:.
web   | 
web   | [1] Ensure that Node.js is installed and can be found in one of the PATH directories.
web   |     Current PATH enviroment variable is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
web   |     Make sure the Node executable is in one of those directories, or update your PATH.
web   | 
web   | [2] See the InnerException for further details of the cause. ---> System.ComponentModel.Win32Exception: No such file or directory

完整错误堆栈@

粘贴

这是为 ASP.NET 设置新的路径以查找节点的问题吗?如果是这样,关于 Docker 中这条道路应该是什么的想法吗?

我想我忽略了运行时映像库容器。

改成FROM microsoft/aspnetcore-build:2.0,现在我很好。

最新更新