Created
February 11, 2025 14:44
-
-
Save eemr3/305381f64524992f723991414e735afc to your computer and use it in GitHub Desktop.
Dockerfile para .Net SDK 8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1. Runtime base | |
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base | |
WORKDIR /app | |
# Criar um usuário específico (segurança) | |
RUN useradd -m appuser | |
USER appuser | |
EXPOSE 8080 | |
EXPOSE 8081 | |
ENV ASPNETCORE_URLS=http://+:8080 | |
# 2. Etapa de Build | |
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build | |
ARG BUILD_CONFIGURATION=Release | |
WORKDIR /src | |
# Copiar apenas os arquivos do projeto para otimizar cache do restore | |
COPY FinancialControl/FinancialControl.csproj FinancialControl/ | |
RUN dotnet restore FinancialControl/FinancialControl.csproj | |
# Copiar o resto do código | |
COPY . . | |
WORKDIR /src/FinancialControl | |
# Compilar a aplicação | |
RUN dotnet build FinancialControl.csproj -c $BUILD_CONFIGURATION -o /app/build | |
# 3. Etapa de Publicação | |
FROM build AS publish | |
ARG BUILD_CONFIGURATION=Release | |
RUN dotnet publish FinancialControl.csproj -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false | |
# 4. Imagem Final | |
FROM base AS final | |
WORKDIR /app | |
COPY --from=publish /app/publish . | |
# Executar aplicação | |
ENTRYPOINT ["dotnet", "FinancialControl.dll"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment