Executando verificação de segurança...
1

Como rodar seu Projeto ASP.NET6 no Docker

Bom dia pessoal, hoje vim aqui compartilhar com vocês como subir sua API .NET6 no container Docker.
O que é necessario?

  • 1° Baixar o Docker Desktop.
  • 2° Ter sua API em .net6 obs
    pode ser em outra versão anterior, tera que alterar no Docker File alguns parametros de SDK e Runtimes

Repositorio GitHub: Docker-Example

Crie o Docker File na raiz do seu projeto e cole o codigo abaixo

`FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src

COPY .sln .
COPY API/
.csproj ./api/
RUN dotnet restore

COPY API/. ./api/
WORKDIR /src/api
RUN dotnet publish -o ./dist

FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY ./API/dist .
ENTRYPOINT ["dotnet", "API.dll"]`


Antes de começarmos precisamos saber uma coisa, existe dois tipos de repositorio nesse codigo, o primeiro repositorio é do seu computador e o segundo é um repositorio que o docker cria dentro do container, sabendo disso vamos continuar.

No primeiro Bloco de Codigo, está buscando a imagem do SDK .net6 e esta dizendo que o diretorio de trabalho onde vai ser executado dentro de uma pasta que eu nomeei de SRC(dentro do container).

No segundo Bloco de Codigo, ele está copiando os arquivos com final .csproj da pasta API(pasta onde esta o meu codigo dentro do meu PC, no caso é o nome da pasta onde fica sua API) e colando em uma pasta que nomeei de api(dentro do container), e ele esta rodando o comando dotnet restore que vai restaurar todas as dependencias da sua API.

No terceiro Bloco de Codigo, ele vai copiar todos os arquivos da pasta API(do seu PC) para a pasta api(do container), sinaliza que esta navegando ate a pasta src/api(do container) para executar o comando dotnet publish -o ./dist, no comando ele ira dar o publish que quer dizer que ele vai gerar um arquivo NOMEDAAPI.dll da sua API, e os arquivos gerados irão ficar na pasta chamada dist(dentro do PC).

No quarto Bloco de Codigo, ele busca a imagem de runtime do aspnet 6, navega ate uma pasta chamada app que eu nomeei e copio todos os arquivos que estao dentro do dist(do seu PC) e colo dentro da pasta app(do container), e finalizando ele vai na pasta app e executa o comando dotnet NOMEDAAPI.dll.
**Obs: na linha onde tem o ENTRYPOINT ["dotnet", "NOMEDAAPI.dll"] , tem que colocar o nome da sua API, se não colocar certinho não vai funcionar. **


Para subir o container precisa ir no terminal e digitar
docker build -t name-image . esse comando vai criar uma imagem da sua API e pode nomear do jeito que desejar no lugar do name-image.

docker container run -p 5000:80 name-image esse comando vai criar um container rodando na porta 5000 usando a imagem que criou no passo anterior.

Agora so testar indo para localhost:5000/.

Se alguem saber como faz para subir no Docker Projeto Angular e BD manda nos comentarios, Vlw.

Carregando publicação patrocinada...
1
1