Cod*_*512 2 docker asp.net-core
我有一个 ASP.NET Core 应用程序在 Raspberry Pi 上的 docker 中运行,当我尝试通过 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 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"]
Run Code Online (Sandbox Code Playgroud)
知道为什么当我在另一台计算机上连接时失败吗?
谢谢!
对于此错误,表明您没有在映像中安装节点。
对于内置的 ms docker 镜像,默认情况下没有安装 Node,您可以尝试使用如下命令来安装 Node。
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
Run Code Online (Sandbox Code Playgroud)
更新
看来你是在生产环境中。之所以在删除时起作用environment: - ASPNETCORE_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");
}
});
Run Code Online (Sandbox Code Playgroud)
对于开发环境,它将使用spa.UseAngularCliServer(npmScript: "start");.
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |