Docker &引用;无法启动';npm'&引用;远程访问页面时出现错误消息
我有一个ASP.NET核心应用程序运行在docker上的Raspberry Pi上,当我尝试通过Pi访问时,它显示得很好。当我尝试在本地网络上访问它时,我会看到以下异常页面: 这是我的Dockerfile:Docker &引用;无法启动';npm'&引用;远程访问页面时出现错误消息,docker,asp.net-core,Docker,Asp.net Core,我有一个ASP.NET核心应用程序运行在docker上的Raspberry Pi上,当我尝试通过Pi访问时,它显示得很好。当我尝试在本地网络上访问它时,我会看到以下异常页面: 这是我的Dockerfile: FROM microsoft/dotnet:2.2-sdk AS builder WORKDIR /source RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - RUN apt-get install -y node
FROM microsoft/dotnet:2.2-sdk AS builder
WORKDIR /source
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
RUN npm --version
COPY *.csproj .
RUN dotnet restore
COPY ./ ./
RUN dotnet publish "./AspNetCoreApp.csproj" --output "./dist" --configuration Debug --no-restore
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=builder /source/dist .
EXPOSE 80
ENTRYPOINT ["dotnet", "AspNetCoreApp.dll"]
你知道为什么我在另一台电脑上连接时会失败吗
谢谢 对于此错误,它表示您没有在映像中安装节点 对于内置的ms docker映像,默认情况下它没有安装节点,您可以尝试下面的命令来安装节点
ROM mcr.microsoft.com/dotnet/core/aspnet:3.0-stretch-slim AS base
# BEGIN MODIFICATION - Node is needed for development (but not production)
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install --assume-yes nodejs
# END MODIFICATION
WORKDIR /app
EXPOSE 80
EXPOSE 443
更新
您似乎处于生产环境中。由于在删除环境:-ASPNETCORE\u environment=Development
时它起作用的原因,它是由
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
对于开发环境,它将使用spa.UseAngularCliServer(npmScript:“start”)代码>删除
environment: - ASPNETCORE_ENVIRONMENT=Development
从compose.override文件修复了所有这些问题。我不知道为什么会出现问题。您的dockerfile和asp.net核心项目模板是什么?您是否使用docker容器中的spa进行开发?@TaoZhou-我刚刚用dockerfileI更新了我的帖子。我在本地访问站点时,只有在远程访问时,才收到npm错误。@CodeSlinger512您说的本地访问是什么意思?我指的是访问托管该站点的计算机上的页面。我发现了问题所在。。。它是dotnet在docker-compose.override.yml文件中自动生成的一行。