Fix Ruta Dockerfile API
This commit is contained in:
@@ -1,30 +1,26 @@
|
||||
# Etapa 1: Compilación
|
||||
# Usamos la imagen del SDK de .NET 8 para compilar la aplicación
|
||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||
WORKDIR /src
|
||||
|
||||
# Copiamos el archivo de proyecto y restauramos las dependencias primero
|
||||
# Esto aprovecha el caché de capas de Docker
|
||||
COPY ["Titulares.Api/Titulares.Api.csproj", "Titulares.Api/"]
|
||||
RUN dotnet restore "Titulares.Api/Titulares.Api.csproj"
|
||||
# 1. Copia solo el archivo .csproj.
|
||||
# La ruta de origen es "Titulares.Api.csproj" porque está en la raíz del contexto.
|
||||
COPY Titulares.Api.csproj .
|
||||
|
||||
# Copiamos el resto del código fuente
|
||||
# 2. Restaura las dependencias. Docker guardará esta capa en caché.
|
||||
RUN dotnet restore "Titulares.Api.csproj"
|
||||
|
||||
# 3. Copia el resto de los archivos del proyecto.
|
||||
COPY . .
|
||||
WORKDIR "/src/Titulares.Api"
|
||||
# Compilamos la aplicación en modo Release y la publicamos en la carpeta /app/publish
|
||||
|
||||
# 4. Publica la aplicación.
|
||||
# --no-restore se usa porque ya hemos restaurado las dependencias.
|
||||
RUN dotnet publish "Titulares.Api.csproj" -c Release -o /app/publish --no-restore
|
||||
|
||||
# Etapa 2: Imagen Final
|
||||
# Usamos la imagen de runtime de ASP.NET, que es mucho más ligera
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final
|
||||
WORKDIR /app
|
||||
COPY --from=build /app/publish .
|
||||
|
||||
# Exponemos el puerto 8080. El backend escuchará en este puerto dentro del contenedor.
|
||||
EXPOSE 8080
|
||||
|
||||
# Establecemos el entorno a Producción para que se use appsettings.Production.json
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
|
||||
# Punto de entrada para ejecutar la aplicación
|
||||
ENTRYPOINT ["dotnet", "Titulares.Api.dll"]
|
||||
Reference in New Issue
Block a user