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-slimNo 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"]Como 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 hecho la transición 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.