我有一个.NET Core Web应用程序项目,我在“启用Docker支持”复选框下选择了错误的操作系统:
我如何为一个现有的项目更改这一点?而且要明确的是,我想针对Linux,而不是Docker中的“切换到Windows容器...”。
gfttwv5a1#
事实证明这很简单,我通过编辑csproj文件做到了这一点:将<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>更改为<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>并重新加载。我仍然不确定您将在Visual Studio中的何处执行此操作(如果可能的话)。
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
r55awzrz2#
如果解决方案中只有一个项目,我将删除API项目中与docker-compose.dcproj和Dockerfile关联的项目,然后右键单击并再次向该项目添加Docker支持。这将使用linux基础映像创建新的dockerfile。新的dcproj将提到linux
<DockerTargetOS>Linux</DockerTargetOS>
quhf5bfb3#
在我的例子中,我使用的是一个. Net Core 3.1 API项目,仅仅编辑项目文件是不起作用的。我还必须指出Docker图像是不同的。
收件人:
(Only将"Windows"更改为"Linux")
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 AS base
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
我还相应地更改了构建名称。更改:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1903 AS build
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
映像名称可能不同。请确保将Windows映像更改为Linux映像。
rjjhvcjd4#
对于面向.NET Core的ASP.NET Core项目,有两个选项可用于通过工具添加Docker支持。在Visual Studio中打开项目,然后选择下列选项之一:
你会看到这样的Windows
并选择所需的操作系统。您可以在这里找到更多信息
4条答案
按热度按时间gfttwv5a1#
事实证明这很简单,我通过编辑csproj文件做到了这一点:将
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
更改为<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
并重新加载。我仍然不确定您将在Visual Studio中的何处执行此操作(如果可能的话)。
r55awzrz2#
如果解决方案中只有一个项目,我将删除API项目中与docker-compose.dcproj和Dockerfile关联的项目,然后右键单击并再次向该项目添加Docker支持。
这将使用linux基础映像创建新的dockerfile。
新的dcproj将提到linux
quhf5bfb3#
在我的例子中,我使用的是一个. Net Core 3.1 API项目,仅仅编辑项目文件是不起作用的。我还必须指出Docker图像是不同的。
收件人:
(Only将"Windows"更改为"Linux")
收件人:
我还相应地更改了构建名称。更改:
收件人:
映像名称可能不同。请确保将Windows映像更改为Linux映像。
rjjhvcjd4#
对于面向.NET Core的ASP.NET Core项目,有两个选项可用于通过工具添加Docker支持。在Visual Studio中打开项目,然后选择下列选项之一:
你会看到这样的Windows
并选择所需的操作系统。
您可以在这里找到更多信息