with visual studio netcore net example error dockerize asp app c# docker asp.net-core docker-compose asp.net-core-2.0

c# - visual - Error de compilación de ASP.NET Core docker



net core iis error 500 (3)

Soy nuevo en ASP.NET Core y docker. He creado una aplicación simple ASP.NET Core 2.0 y trato de usar la ventana acoplable con Windows. Sin embargo, me sale este error:

Your Docker server host is configured for ''Linux'', however the docker-compose project targets ''Windows''.

Aunque parece ser un error bastante informativo, no puedo encontrar dónde ''configurar el host para Windows''


Asegúrese de elegir el sistema operativo correcto cuando habilite el soporte de la ventana acoplable:

Tu demonio docker también tiene que apuntar a los contenedores de Linux.


Es docker-compose.dcproj archivo docker-compose.dcproj donde puede configurar el sistema operativo al que desea dirigirse:

<DockerTargetOS>Linux</DockerTargetOS>

Para cambiar el demonio de la ventana acoplable al mismo sistema operativo, puede usar el icono de la bandeja de Docker o la ventana de configuración de Docker (accesible desde el mismo menú):


Recibí este error cuando creé el proyecto para apuntar a Windows y luego quise cambiarlo para apuntar a Linux. Los pasos son un poco más complicados si desea utilizar contenedores de Linux en su lugar:

  1. Descargue el docker-compose, edite el DockerTargetOS a Linux, luego vuelva a cargar el proyecto
  2. Vaya a docker-compose.yml. Asegúrese de que la barra invertida es una barra inclinada. Debe parecerse a "WebApplication / Dockerfile"
  3. En el Dockerfile, para la base use "microsoft / aspnetcore: 2.0" y para la compilación, use "microsoft / aspnetcore-build: 2.0" para que se vea así:

    FROM microsoft/aspnetcore:2.0 AS base WORKDIR /app EXPOSE 80 FROM microsoft/aspnetcore-build:2.0 AS build WORKDIR /src COPY WebApplication7/WebApplication.csproj WebApplication/ RUN dotnet restore WebApplication/WebApplication.csproj COPY . . WORKDIR /src/WebApplication RUN dotnet build WebApplication.csproj -c Release -o /app

  4. Haga clic con el botón derecho en el icono de la bandeja de Docker> configuración> Unidades compartidas> elija la unidad en la que reside su proyecto.