如何更改对.Net Core Web应用程序项目的Docker OS支持?

时间:2019-02-03 11:50:25

标签: docker asp.net-core visual-studio-2017 asp.net-core-webapi

我有一个.NET Core Web应用程序项目,在“启用Docker支持”复选框下选择了错误的操作系统: enter image description here

如何更改现有项目?需要明确的是,我要针对linux,而不是docker中的“切换到Windows容器...”。

4 个答案:

答案 0 :(得分:0)

事实证明这很容易,我是通过编辑csproj文件来完成的:将<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>更改为<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>并重新加载。

我仍然不确定您将在Visual Studio中执行此操作(如果可能)。

答案 1 :(得分:0)

如果解决方案中只有一个项目,我将删除与API项目内的docker-compose.dcproj和Dockerfile关联的项目。之后,我将右键单击并再次向该项目添加Docker支持。

这将使用linux基本映像创建新的dockerfile。

新的dcproj将提到Linux

<DockerTargetOS>Linux</DockerTargetOS>

答案 2 :(得分:0)

对于面向.NET Core的ASP.NET Core项目,有两个选项可通过该工具添加Docker支持。在Visual Studio中打开项目,然后选择以下选项之一:

  • 从“项目”菜单中选择“ Docker支持”。
  • 在解决方案资源管理器中右键单击项目,然后选择添加> Docker支持。

您应该看到这样的窗口

enter image description here

然后选择所需的操作系统。

您可以找到更多信息HERE

答案 3 :(得分:0)

就我而言,我使用的是.Net Core 3.1 API项目,仅编辑项目文件无效。我还必须指出docker映像是不同的。这就是我所做的:

  1. 在解决方案资源管理器上,右键单击该项目,然后选择“卸载”

  2. 右键单击项目,对其进行编辑 (项目文件也可以在外部进行编辑。即使右键单击,添加,Docker支持也可以使用一次)

  3. 正如其他人所述,更改:

    Windows

    收件人:

    Linux

    (仅将“ Windows”更改为“ Linux”)

  4. 更改图像名称。编辑名为“ Dockerfile”的文件。更改:

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 AS基础

    收件人:

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS基础

    我也相应地更改了构建名称。已更改:

    FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1903 AS构建

    收件人:

    FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS构建

图像名称可能不同。只需确保将Windows映像更改为Linux映像即可。

相关问题