2017-08-25 48 views
1

在Visual Studio 2017中有没有办法自动启用Docker支持的asp.net核心Angular项目?该选项在创建新选项时被禁用。它仅适用于Web应用程序(MVC)启用对Angular项目的Docker支持

我能够在创建项目后为角项目启用Docker支持(项目 - >添加 - > Docker支持),但是当我启动应用程序时,得到一个node.js不可用的异常。

发生System.AggregateException HResult = 0x80131500消息=一个 或更多错误发生。 (无法启动节点过程要解决 这样:

[1]确保的Node.js安装,并且可以在 PATH目录之一中找到 电流路径环境变量是:。在/ usr /本地/ sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin 确保Node可执行文件位于其中一个目录中,或更新PATH。看到针对病因的进一步的细节设置InnerException)
源=堆栈跟踪:在 System.Threading.Tasks.Task`1.GetResultCore(布尔 waitCompletionNotification)在 Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder 的AppBuilder,WebpackDevMiddlewareOptions选项)在 WebApplication3.Startup.Configure(IApplicationBuilder应用程序, IHostingEnvironment ENV)在 C:\用户\ TEMP \文档\ Visual Studio中 2017 \项目\ WebApplication3 \ Startup.cs:line 34

内部异常1:InvalidOperationException:无法启动节点 进程。解决这个问题:

[1]确保已安装Node.js,并且可以在 PATH目录之一中找到它。 当前PATH环境变量为:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin 确保Node可执行文件位于其中一个目录中,或更新你的PATH。

[2]有关原因的更多详细信息,请参阅InnerException。

内部异常2:Win32Exception:没有这样的文件或目录

如果无法自动创建它哪能手动为我的角度项目使泊坞支持?

+0

您需要将其安装在基础映像的顶部。查看这些链接是否有助于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-容器图像换窗口/ –

回答

3

我解决了我的问题。

我需要在我的映像上安装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是不够的,导致这种安装的NodeJS的4版本,并将其安装在文件夹nodejs,使WebpackDevMiddleware没有找到节点可执行。