我有一个.NET Core Web应用程序项目,在“启用Docker支持”复选框下选择了错误的操作系统:
如何更改现有项目?需要明确的是,我要针对linux,而不是docker中的“切换到Windows容器...”。
答案 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中打开项目,然后选择以下选项之一:
您应该看到这样的窗口
然后选择所需的操作系统。
您可以找到更多信息HERE
答案 3 :(得分:0)
就我而言,我使用的是.Net Core 3.1 API项目,仅编辑项目文件无效。我还必须指出docker映像是不同的。这就是我所做的:
在解决方案资源管理器上,右键单击该项目,然后选择“卸载”
右键单击项目,对其进行编辑 (项目文件也可以在外部进行编辑。即使右键单击,添加,Docker支持也可以使用一次)
正如其他人所述,更改:
收件人:
(仅将“ Windows”更改为“ Linux”)
更改图像名称。编辑名为“ 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映像即可。