Dockerizando una webapi de net 5

Dockerizando una webapi de net 5

Hola amigos de la #nerdytud En el día de hoy quiero compartirles una solución completa (y sencilla) para crear una imágen en docker de una webapi realizada en NET 5

Crear aplicación

mkdir backend && cd backend

dotnet new sln

Crear proyecto

mkdir api && cd api

dotnet new webapi

Linkear proyecto a la solución

cd ..

dotnet sln backend.sln add ./api/api.csproj

Ejecutar aplicación

dotnet run

https://localhost:5001/swagger

Crear archivo Dockerfile

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build

EXPOSE 80

EXPOSE 443

WORKDIR /src

COPY *.sln .

COPY /api/*.csproj ./api/

RUN dotnet restore

COPY api/. ./api/

WORKDIR /src/api

RUN dotnet publish -c release -o /bin

FROM mcr.microsoft.com/dotnet/aspnet:5.0

WORKDIR /bin

COPY --from=build /bin ./

ENTRYPOINT ["dotnet", "api.dll"]

Crear imágen

docker build -t backend:dev .

Revisar imágen

docker images

Ejecutar

docker run --rm -it -d -p 5000:80 backend:dev

Chequear funcionamiento

http://localhost:5000/weatherforecast