Por lo general, uso las siguientes imágenes para .net core 3.1 y funciona bien.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build Por razones experimentales, comencé un nuevo proyecto .NET 5 y creé dockerfile con lo siguiente
FROM mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim AS base FROM mcr.microsoft.com/dotnet/core/sdk:5.0-buster AS buildy tiene el siguiente problema:
=> ERROR [internal] load metadata for mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.2s => ERROR [internal] load metadata for mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim 0.2s => CANCELED [build 1/7] FROM mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.0s => => resolve mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.0s => [internal] load build context 0.0s => ERROR [base 1/2] FROM mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim 0.0s => => resolve mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slimComo leí aquí , se cambia a:
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS buildTambién se menciona en el centro de la ventana acoplable con más información :
Como parte del lanzamiento de .NET 5.0, todas las imágenes de .NET Docker (incluidos .NET Core 2.1 y 3.1) han pasado a un nuevo conjunto de repositorios de Docker que se describe a continuación. Se seguirán realizando actualizaciones en las etiquetas admitidas en las ubicaciones del repositorio anterior para lograr compatibilidad con versiones anteriores. Actualice las referencias del repositorio a estos nuevos nombres. Para obtener más información, consulte el anuncio de cambio de nombre del repositorio de .NET 5.0.
EDITAR: Descripciones de imágenes:
| Imagen | Comentarios |
|---|---|
| mcr.microsoft.com/dotnet/runtime:5.0 | Arquitectura múltiple .NET 5: admite Linux y Windows Nano Server según el host de Docker. |
| mcr.microsoft.com/dotnet/aspnet:5.0 | Arquitectura múltiple ASP.NET Core 5.0: admite Linux y Windows Nano Server según el host de Docker. La imagen aspnetcore tiene algunas optimizaciones para ASP.NET Core. |
| mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim | .NET 5 runtime-only en Linux Debian distro |
| mcr.microsoft.com/dotnet/aspnet:5.0-nanoserver-1809 | .NET 5 runtime solo en Windows Nano Server (Windows Server versión 1809) |
Referencia de la descripción de la imagen.
No tienes que escribir esto tú mismo. Una forma rápida de hacerlo es usar el generador de archivos acoplables como lo explica Julio Casal en este breve tutorial https://www.youtube.com/watch?v=wQSuZFd01tY .
Un código de muestra para MyApp se verá como
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 ENV ASPNETCORE_URLS=http://+:80 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src COPY ["MyApp/MyApp.csproj", "MyApp/"] RUN dotnet restore "MyApp/MyApp.csproj" COPY . . WORKDIR "/src/MyApp" RUN dotnet build "MyApp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "MyApp.dll"]