将Asp.net核心Docker目标从Windows更改为Linux

时间:2019-05-06 00:47:04

标签: linux docker asp.net-core

我通过Visual Studio 2019创建了一个新的ASP.net应用程序。创建项目时,我勾选了Docker Support复选框,并为Docker选择了Windows。过了一会儿,我决定将docker从Windows更改为Linux,因为我在Linux容器上有其他软件,并且每次需要切换时都将其更改。我做了一些研究,发现如果我更改DockerFile中的服务器URL,可以将其更改为Linux。通过这样做,我遇到了这个错误:您的Docker服务器主机配置为“ Linux”,但是该项目的目标是“ Windows”

然后我打开Cs proj文件并将Windows更改为Linux,现在我看到:无法将文件obj \ debug \ netcoreapp2.1 \ xxxx.dll复制到bin \ debug \ netcoreapp2.1 \ xxxx.dll。拒绝访问路径bin \ debug \ netcoreapp2.1 \ xxxx.dll。

我恢复了更改,但仍然看到相同的错误。

2 个答案:

答案 0 :(得分:0)

在文本编辑器(如notepad ++)中编辑.csproj文件 您应该看到DockerDefaultTargetOS标记,并且它应该显示为Windows 将其更改为Linux

答案 1 :(得分:0)

  • 更新您的dockerfile,用此行替换基本指令 “ FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS基础”
  • 对构建指令执行相同的操作:FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS构建
  • 更新您的csproj标记DockerDefaultTargetOS以指向linux