Skip to main content

Exemplo Dockerfile

  • Exemplo Dockerfile
# ********* FASE 1 ********
# Utiliza a imagem base do SDK do .NET para compilar o projeto
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
WORKDIR /app

# Copia os arquivos csproj e restaura as dependências
COPY *.csproj ./
RUN dotnet restore

# Copia os arquivos restantes e constrói a aplicação
COPY . ./

# ********* FASE 2 ********
RUN dotnet publish -c Release -o out

# Gera a imagem final com a runtime do .NET
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build-env /app/out .
# AQUI ELE COPIE OS ARTIFACT CRIADOS NA FASE BUILD-ENV E JOGA NESSA PASTA

# Expõe a porta 80
EXPOSE 80

# Define o ponto de entrada da aplicação
ENTRYPOINT ["dotnet", "NomeDoSeuArquivo.dll"]

  • FROM: qual imagem vai ser utilizada
  • WORKDIR: define uma pasta dentro do container onde os comandos serão executados
  • EXPOSE: o expose define qual porta será exposta a nível de documentação, ele não expoe a porta em si, o que expoe a porta é na hora de executar a imagem passando por parâmetro -p. Ex: docker run imagem -p 80:80
  • ENTRYPOINT: roda um comando no momento que o container é inicializado
  • ENV: usado para definir variáveis de desenvolvimento em run-time