【问题标题】:Angular Project not run on docker with visual studio 2019Angular 项目无法在带有 Visual Studio 2019 的 docker 上运行
【发布时间】:2023-03-12 18:27:01
【问题描述】:

我使用内置的 Angular 模板 (ASP.NET Core 3) 在 Visual Studio 2019 上创建了一个新的 Web 项目。

然后,我使用 Visual Studio 的向导添加了 docker 支持(右键单击项目名称 -> 添加 -> Docker 支持)。

当我使用 IIS Express 从 Visual Studio 启动项目时,虽然项目运行良好,但在使用 Docker 启动它时出现以下错误:

我假设 docker 文件中缺少某些内容。这是我的内容:

【问题讨论】:

  • 我对 .NET 完全陌生,但对我来说,错误很明显:应用程序找不到要监听的已定义端口。你在哪里设置的?
  • 我也有同样的问题。当你添加一个新的 Angular 项目时,提供 docker 支持的选项实际上被禁用了。那么显然根本没有安装nodejs的dotnetcore docker镜像?

标签: visual-studio docker asp.net-core visual-studio-2019


【解决方案1】:

此错误是node未安装在mcr.microsoft.com/dotnet/core/aspnet:3.0-stretch-slim镜像中造成的,请尝试更改您的dockerfile安装node版本10或更高版本。

FROM 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

【讨论】:

  • 这可能有效,但我更喜欢 nodejs 附带的基本图像。显然 MS 不想提供这样的图像:当您在 Visual Studio 2019 中创建一个新的 Angular 项目时,他们实际上禁用了“docker support”复选框。
  • 这个解决方案允许我在调试配置中运行我的项目。但是当我尝试在发布配置中运行它时,它会像这样失败: 1> /bin/sh: 2: /tmp/tmp3125b5c365644a97b48cabba4ab34ca2.exec.cmd: npm: not found 1>/src/WebApplication7/WebApplication7.csproj(41, 5):错误MSB3073:命令“npm install”退出,代码为127。有什么想法吗?
  • @Davy,我和 Robert Hegner 有同样的问题。你知道如何让它在发布模式下工作吗?谢谢。
猜你喜欢
  • 2021-11-17
  • 2021-03-02
  • 2020-07-01
  • 2023-01-18
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
相关资源
最近更新 更多