Uma das principais vantagens do Docker é que ele permite que você execute projetos de software sem a necessidade de configurar ambientes de desenvolvimento complexos.

Este guia mostrará como criar uma imagem Docker de uma API da Web .NET 5. Você pode então usar a imagem para executar o código de back-end de qualquer PC que tenha Docker instalado e interagir com a API de seu projeto de front-end da web ou um aplicativo móvel.

Criação de uma API da Web .NET 5

Tanto o Docker quanto o .NET 5 são de código aberto e multiplataforma, portanto, você pode seguir este guia se estiver usando macOS, Windows ou Linux.

Use o dotnet CLI para criar um projeto ASP.NET Web API com o seguinte comando:

 dotnet new webapi -o aspdockerapi 

O comando acima cria um projeto chamado aspdockerapi e o coloca em uma pasta com o mesmo nome. Além disso, o aplicativo constrói um controlador de API com alguns dados de previsão do tempo de amostra.

Observação: Se você não tiver o .NET 5 instalado em seu PC, poderá baixá-lo no link abaixo.

Download: .NET 5 para Windows, macOS e Linux

Uma vez que o projeto é criado, você pode ir para a pasta raiz do projeto usando o seguinte comando.

cd aspdockerapi

Você pode executar e servir a API da web usando o comando abaixo.

 dotnet run 

Por padrão, o aplicativo será servido na porta 5001. Você pode visualizar os dados de amostra do aplicativo em seu navegador no seguinte URL: https://localhost: 5001 / previsão do tempo e os dados das APIs devem ter a aparência abaixo.

Saber mais: O que é uma API?

Criação de instruções de imagem do Docker

Para criar uma imagem Docker, você precisa fornecer ao Docker Engine algumas instruções sobre como criá-la. Essas instruções devem ser colocadas em um arquivo denominado Dockerfile. Observe que o arquivo não tem extensão.

Use o seguinte comando para criar o Dockerfile na pasta raiz do projeto do aplicativo.

toque em Dockerfile

Depois de criar o Dockerfile, a estrutura da pasta de seus projetos deve ser semelhante a esta abaixo:

Agora, copie e cole o código abaixo em seu Dockerfile.

DE mcr.microsoft.com/dotnet/aspnet: base AS 5.0 focal
WORKDIR / app
EXPOR 80
DE mcr.microsoft.com/dotnet/sdk: 5.0-focal AS build
WORKDIR / src
COPY ["aspdockerapi.csproj", "./"]
EXECUTE a restauração dotnet "./aspdockerapi.csproj"
CÓPIA DE. .
WORKDIR "/ src /."
EXECUTE dotnet build "aspdockerapi.csproj" -c Release -o / app / build
FROM construir COMO publicar
RUN dotnet publish "aspdockerapi.csproj" -c Release -o / app / publish
DA base AS final
WORKDIR / app
COPY --from = publicar / aplicar / publicar.
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

Observação: No Dockerfile acima, os nomes do projeto e dll são aspdockerapi.csproj e aspdockerapi.dll respectivamente, se seu projeto tiver um nome diferente, certifique-se de atualizar seu Dockerfile com os nomes corretos.

Compreendendo as instruções do Dockerfile

O Dockerfile é composto principalmente de palavras-chave do Dockerfile, que por convenção são palavras em letras maiúsculas. As palavras-chave especificam a instrução a ser executada em cada camada da imagem Docker. Abaixo estão as principais palavras-chave do Docker que o Dockerfile acima usa.

1. A PARTIR DE

O A PARTIR DE palavra-chave especifica a imagem base sobre a qual queremos que nossa imagem seja construída. No Dockerfile acima, a imagem base inicial é uma imagem .NET 5 da Microsoft. A imagem base do .NET 5 contém os componentes necessários para a execução do aplicativo.

2. WORKDIR

WORKDIR define o diretório de trabalho ou contexto dentro da imagem. Neste exemplo, o /app diretório é atribuído como o diretório de trabalho raiz padrão usando a seguinte instrução WORKDIR / app.

3. CÓPIA DE

O CÓPIA DE palavra-chave simplesmente copia o conteúdo de uma pasta e o coloca em outra. Neste exemplo, é inicialmente usado para copiar o arquivo principal do projeto, ou seja, aspdockerapi.csproj no diretório de trabalho de imagens.

4. CORRE

O CORRE palavra-chave é usada para executar um comando específico do Linux em uma imagem Docker. No Dockerfile acima de CORRE comando é usado para restaurar dependências, construir o projeto ASP.NET e publicar o projeto.

5. CMD

O CMD palavra-chave é um pouco semelhante ao CORRE palavra-chave discutida acima. Também é usado na execução de um comando do Linux, mas ao contrário do CORRE palavra-chave que executa comandos para construir a imagem, o CMD palavra-chave é usada para executar comandos do Linux quando a imagem é iniciada, em uma instância de contêiner.

6.EXPOSE

O EXPOR A palavra-chave é usada para expor uma porta dentro da imagem Docker para o mundo externo. Nesse caso, a imagem expõe a porta 80, que é usada para expor a API ao executar o contêiner do Docker.

Construindo a imagem Docker

Para construir a imagem Docker com base no Dockerfile, simplesmente execute o seguinte comando dentro da pasta raiz do projeto, ou seja, onde o Dockerfile está localizado.

docker build -t dockerwebapi -f Dockerfile.

O comando acima marca a imagem do Docker com o nome dockerwebapi e também especifica que as instruções para construir esta imagem estão no Dockerfile.

Após a conclusão da construção da imagem, você pode verificar se ela está listada como uma imagem Docker local usando o seguinte comando:

imagens docker

A saída do comando acima deve ser semelhante à abaixo, e a imagem (dockerwebapi) aparece na primeira linha neste caso.

Se você não tem o Docker instalado no seu PC, aqui está como instalar o docker no Ubuntu Linux, caso contrário, use o link abaixo para baixar e instalar o Docker.

Download: Guia de download e instalação do Docker

Executando a imagem do Docker

Para executar a imagem Docker recém-criada, use o seguinte comando. O -ti opção especifica que a imagem deve ser executada em um modo de terminal interativo, e --rm especifica que o contêiner deve ser removido imediatamente após sua saída.

docker run -ti --rm -p 8080: 80 dockerwebapi

Além disso, o comando especifica que o contêiner do Docker deve ser executado na porta HTTP 8080, que mapeia para a porta 80 dentro do contianer.

Vá para o URL: http://localhost: 8080 / WeatherForecast em seu navegador e você encontrará seus dados API sendo servidos a partir da instância do Docker que você está executando.

Por que usar o Docker?

Este guia mostrou como criar uma imagem Docker de uma API da Web .NET 5.

Com o Docker, você pode automatizar como implantar seus aplicativos, simplificar a configuração de ambientes de desenvolvimento de software e facilitar a colaboração com outros engenheiros de software.

O Docker também oferece várias vantagens sobre outras tecnologias de virtualização, por isso você provavelmente deve considerar usá-lo em seus projetos de engenharia de software.

E-mail
6 razões para usar o software de virtualização Docker

O Docker oferece muitas vantagens sobre uma máquina virtual; aqui estão os motivos para começar a usá-lo hoje.

Leia a seguir

Tópicos relacionados
  • Programação
  • Desenvolvimento web
  • Docker
  • ASP.NET
Sobre o autor
Mwiza Kumwenda (26 artigos publicados)

Mwiza desenvolve software profissionalmente e escreve extensivamente em Linux e programação front-end. Alguns de seus interesses incluem história, economia, política e arquitetura empresarial.

Mais de Mwiza Kumwenda

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.

.