27 lines
1011 B
Docker
27 lines
1011 B
Docker
# --- Стадия сборки ---
|
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
|
WORKDIR /source
|
|
|
|
# Копируем .sln и .csproj файл (он теперь в корне)
|
|
COPY *.sln .
|
|
COPY *.csproj .
|
|
# Если будут другие проекты, их .csproj тоже копируем из корня
|
|
|
|
# Восстанавливаем NuGet пакеты для .csproj файла
|
|
RUN dotnet restore "./DailyDigestWorker.csproj" # Используем имя файла проекта
|
|
|
|
# Копируем весь остальной исходный код из корня
|
|
COPY . .
|
|
|
|
# Публикуем приложение
|
|
# WORKDIR уже /source, где лежит .csproj
|
|
RUN dotnet publish "./DailyDigestWorker.csproj" -c Release -o /app/publish --no-restore
|
|
|
|
# --- Финальная стадия ---
|
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
|
|
WORKDIR /app
|
|
COPY --from=build /app/publish .
|
|
|
|
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
|
|
|
|
ENTRYPOINT ["dotnet", "DailyDigestWorker.dll"] |