为Angular项目启用Docker支持

3
在Visual Studio 2017中,有没有一种方法可以自动为asp.net-core Angular项目启用Docker支持?在创建新项目时,该选项处于禁用状态。它仅适用于Web应用程序(MVC)。
我能够在创建项目后启用Angular项目的Docker支持(Project->Add->Docker Support),但是当我启动应用程序时,会出现一个例外情况,显示node.js不可用。
出现System.AggregateException错误,其中之一是InvalidOperationException错误: Failed to start Node process. To resolve this:.
如果无法自动创建它,则如何手动为我的Angular项目启用Docker支持?

您需要在基础镜像之上安装它。请查看以下链接是否有帮助 https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/dc7c8721797ddde0c428de0692b22ca6a9bcfa09/windows-server-container-samples/node-v0.12.7-x64 和 https://stefanscherer.github.io/create-an-io-js-container-image-for-windows/。 - Tarun Lalwani
1个回答

8

我解决了我的问题。

我需要在我的镜像上安装nodejs,因为webpack需要它。我已经修改了我的Dockerfile,以安装nodejs版本6。

FROM microsoft/aspnetcore:2.0
RUN apt-get update && \
    apt-get install -y wget && \
    apt-get install -y gnupg2 && \
    wget -qO- https://deb.nodesource.com/setup_6.x | bash - && \
    apt-get install -y build-essential nodejs
# Rest of Dockerfile

仅使用RUN apt-get update && apt-get install -y nodejs是不够的,因为这将安装版本为4的nodejs,并且它被安装在nodejs文件夹中,所以WebpackDevMiddleware无法找到node可执行文件。


我通过将其添加到[base]定义中而使其工作,而不是后面的定义。必须针对Microsoft/aspnetcore:2.0进行操作。 - J. Polfer
这完全解决了我的问题,谢谢!!! - Mike W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接