Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 配置Docker为Angular应用程序创建容器_C#_Angular_Docker_Docker Compose_Dockerfile - Fatal编程技术网

C# 配置Docker为Angular应用程序创建容器

C# 配置Docker为Angular应用程序创建容器,c#,angular,docker,docker-compose,dockerfile,C#,Angular,Docker,Docker Compose,Dockerfile,我正在尝试让默认的Angular应用程序在Docker容器中工作。以下是我遵循的步骤: 1) 打开Visual Studio 2017并选择:文件/新建/项目 2) 选择ASP.NET核心Web应用程序。单击“确定” 3) 选择.NET Core 2.2和Angular。我注意到“启用Docker支持”已灰显。不知道为什么。在Visual Studio 2019中尝试了前三个步骤,结果是一样的。取消选中HTTPS的配置。单击“确定” 4) 右键单击项目并选择添加/容器编排支持。选择容器编排作为D

我正在尝试让默认的Angular应用程序在Docker容器中工作。以下是我遵循的步骤:

1) 打开Visual Studio 2017并选择:文件/新建/项目

2) 选择ASP.NET核心Web应用程序。单击“确定”

3) 选择.NET Core 2.2和Angular。我注意到“启用Docker支持”已灰显。不知道为什么。在Visual Studio 2019中尝试了前三个步骤,结果是一样的。取消选中HTTPS的配置。单击“确定”

4) 右键单击项目并选择添加/容器编排支持。选择容器编排作为Docker Compose,选择目标操作系统作为Linux

5) 重建应用程序

当我启动应用程序时,我看到:

我的Docker文件如下所示:

    FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY ["Web/WebSPA/WebSPA.csproj", "Web/WebSPA/"]
RUN dotnet restore "Web/WebSPA/WebSPA.csproj"
COPY . .
WORKDIR "/src/Web/WebSPA"
RUN dotnet build "WebSPA.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "WebSPA.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebSPA.dll"]
ARG NODE_IMAGE=node:8.11
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 80

FROM ${NODE_IMAGE} as node-build
WORKDIR /web
COPY src/Web/WebSPA .
RUN npm install
RUN npm run build:prod

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src

COPY scripts scripts/

COPY src/Web/*/*.csproj /src/csproj-files/

COPY . .
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/
WORKDIR /src/src/Web/WebSPA
RUN dotnet publish -c Release -o /app

FROM build AS publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebSPA.dll"]
我看到另一个问题,建议将DockerFile更改为以下内容:

    FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY ["Web/WebSPA/WebSPA.csproj", "Web/WebSPA/"]
RUN dotnet restore "Web/WebSPA/WebSPA.csproj"
COPY . .
WORKDIR "/src/Web/WebSPA"
RUN dotnet build "WebSPA.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "WebSPA.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebSPA.dll"]
ARG NODE_IMAGE=node:8.11
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 80

FROM ${NODE_IMAGE} as node-build
WORKDIR /web
COPY src/Web/WebSPA .
RUN npm install
RUN npm run build:prod

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src

COPY scripts scripts/

COPY src/Web/*/*.csproj /src/csproj-files/

COPY . .
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/
WORKDIR /src/src/Web/WebSPA
RUN dotnet publish -c Release -o /app

FROM build AS publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebSPA.dll"]

但是,这并没有什么区别。

您必须在您的计算机上安装docker,而且-如果您的目标只是运行带有angular的docker容器-您根本不需要visual studioall@happyZZR1400,我安装了Docker。如果我没有安装Docker,应用程序甚至不会运行。你是否能够运行一些简单的容器,如“Docker run hello world”?@happyZZR1400,是的。我还让Docker使用MVC应用程序。我的dockerfile有什么问题吗?据我所知,你在试图塑造形象。不是角度,而是点网MVC,对吗?