docker file update

This commit is contained in:
Artemy
2025-11-04 12:12:48 +07:00
parent c541c404b4
commit 3385d484ff
+13 -20
View File
@@ -1,30 +1,23 @@
# Используем официальный образ с SDK для сборки
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
WORKDIR /src
# Копируем csproj и восстанавливаем зависимости
COPY *.sln .
COPY Govor.API/*.csproj ./Govor.API/
COPY Govor.Application/*.csproj ./Govor.Application/
COPY Govor.Core/*.csproj ./Govor.Core/
COPY Govor.Data/*.csproj ./Govor.Data/
COPY Govor.Contracts/*.csproj ./Govor.Contracts/
RUN dotnet restore
COPY *.sln ./
COPY Govor.API/*.csproj Govor.API/
COPY Govor.Application/*.csproj Govor.Application/
COPY Govor.Core/*.csproj Govor.Core/
COPY Govor.Data/*.csproj Govor.Data/
COPY Govor.Contracts/*.csproj Govor.Contracts/
RUN dotnet restore Govor.API/Govor.API.csproj
# Копируем все исходники и билдим проект в Release режиме
COPY . .
WORKDIR /app/Govor.API
RUN dotnet publish -c Release -o out
WORKDIR /src/Govor.API
RUN dotnet publish -c Release -o /app/publish
# Используем лёгкий runtime образ для запуска
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
WORKDIR /app
COPY --from=build /app/publish .
# Копируем билд из предыдущего этапа
COPY --from=build /app/Govor.API/out ./
# Указываем порт (если используется нестандартный, замени 80)
ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080
# Запускаем приложение
ENTRYPOINT ["dotnet", "Govor.API.dll"]