# ********* 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"]