Conteinerizando sua API Web Asp.Net Core 3.1

Fala pessoal, no post de hoje vou mostrar como criar uma WEB API .NET CORE na versão 3.1 e como criar a imagem docker dessa API bem como disponibilizar a imagem no Docker Hub.

Faça a instalação da última versão do .net core, no meu caso estou utilizando a versão 3.1.102 , para verificar a instalação utilize o comando:

dotnet --version

Vamos agora criar a aplicação utilizando o dotnet cli com o comando:

dotnet new webapi -o HelloAspNetCore --no-https

Depois de criar a aplicação entre na pasta HelloAspNetCore e digite o comando abaixo para entrar no Visual Studio Code (estou presumindo que já possua o mesmo instalado em sua maquina) :

code .
projeto inicial criado pelo dotnet cli

Dentro do Visual Studio Code caso apareça o popup abaixo, clique em “Yes”, essa configuração é importante para debugar a aplicação posteriormente.

aceite esse popup

Caso não tenha ainda instalado a extensão do docker no seu Visual Studio Code, agora é o momento localize e instale a seguinte extensão:

extensão do Docker para o Visual Studio Code

Vamos rodar a aplicação sem as configurações do docker e testar na ferramenta Postman, para isso clique no icone de debug do visual studio e rode o .NET Core Lunch:

Para testar no Postman, abra a ferramenta e faça um request para http://localhost:5000/weatherforecast :

chamando a url pelo Postman

Vamos agora criar as configurações para trabalhar com o docker, acesse os comandos do visual studio com CONTROL+SHIFT+P e digite o sequinte comando

>docker: add

Selecione a plataforma da aplicação como ASP.NET CORE e depois o sistema operacional LINUX e por último defina a porta como 80, depois é só dar um “Enter” e o arquivo Dockerfile será criado na raiz da aplicação:

dockerfile criado pelo Visual Studio Code

Agora vamos gerar a imagem docker com o comando:

docker build -t hello-aspnetcore:v1 .

Depois do processo executado vamos verificar as imagens geradas com o comando:

docker images
listando as imagens

Vamos agora rodar a imagem docker com nossa API com o comando:

docker run -it --rm -p 8080:80 hello-aspnetcore:v1
imagem rodando

Agora podemos chamar pelo Postman com a url de sua imagem:

Url de sua imagem docker

Pode também agora verificar pelo dashboard do docker instalado em sua máquina:

verificando o status da imagem pelo dashboard do docker instalado na máquina

Agora para ficar melhor ainda vamos subir a imagem para seu repositório docker, aqui estou presumindo que você já tenha uma conta no docker ok?

Para subir sua imagem o primeiro passo é efetuar o login no dockerhub, provavelmente você já estará logado caso use o dashboard, para isso rode o comando e preencha os dados de login solicitado pelo cli:

docker login

Depois vamos executar o comando para subir no repositório remoto:

docker tag 5edb203a8971  mdcarmo/hello-aspnetcore:v1

E para finalizar vamos fazer o push para o hub:

$ docker push <hub-user>/<repo-name>:<tag>
docker push mdcarmo/hello-aspnetcore:v1

Obviamente nos comandos acima estou enviando o meu usuário, basta você trocar pelo seu ok? se tudo correr bem o seu repositório aparecerá no dockerHub

A imagem disponivel no docker hub

É isso por hoje, muito se fala em docker hoje em dia então é bom aprender, não tenho experiencia com a ferramenta portanto posso ter errado em algum passo ou ter alguma forma melhor e mais fácil de fazer, mas assim funcionou para mim. Se gostou ou ajudou a tirar alguma dúvida deixa um like ou um comentário ae para fortalecer.

Leave a Reply

O seu endereço de e-mail não será publicado.