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.
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
- Programação
- Desenvolvimento web
- Docker
- ASP.NET

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.
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.