33 lines
913 B
Docker
33 lines
913 B
Docker
# Etapa de compilación
|
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
|
WORKDIR /src
|
|
|
|
# Copiar csproj y restaurar dependencias
|
|
COPY ["GestorFacturas.API.csproj", "./"]
|
|
RUN dotnet restore "GestorFacturas.API.csproj"
|
|
|
|
# Copiar todo el código y compilar
|
|
COPY . .
|
|
RUN dotnet publish "GestorFacturas.API.csproj" -c Release -o /app/publish
|
|
|
|
# Etapa final (Runtime)
|
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
|
WORKDIR /app
|
|
COPY --from=build /app/publish .
|
|
|
|
# Instalar tzdata para tener las definiciones de zona horaria
|
|
USER root
|
|
RUN apt-get update && \
|
|
apt-get install -y tzdata && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Configurar zona horaria
|
|
ENV TZ=America/Buenos_Aires
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
# -----------------------
|
|
|
|
# Crear directorios
|
|
RUN mkdir -p /app/data/origen && mkdir -p /app/data/destino
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["dotnet", "GestorFacturas.API.dll"] |