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 FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app WORKDIR /src
# Копируем csproj и восстанавливаем зависимости COPY *.sln ./
COPY *.sln . COPY Govor.API/*.csproj Govor.API/
COPY Govor.API/*.csproj ./Govor.API/ COPY Govor.Application/*.csproj Govor.Application/
COPY Govor.Application/*.csproj ./Govor.Application/ COPY Govor.Core/*.csproj Govor.Core/
COPY Govor.Core/*.csproj ./Govor.Core/ COPY Govor.Data/*.csproj Govor.Data/
COPY Govor.Data/*.csproj ./Govor.Data/ COPY Govor.Contracts/*.csproj Govor.Contracts/
COPY Govor.Contracts/*.csproj ./Govor.Contracts/ RUN dotnet restore Govor.API/Govor.API.csproj
RUN dotnet restore
# Копируем все исходники и билдим проект в Release режиме
COPY . . COPY . .
WORKDIR /app/Govor.API WORKDIR /src/Govor.API
RUN dotnet publish -c Release -o out RUN dotnet publish -c Release -o /app/publish
# Используем лёгкий runtime образ для запуска FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app WORKDIR /app
COPY --from=build /app/publish .
# Копируем билд из предыдущего этапа ENV ASPNETCORE_URLS=http://+:8080
COPY --from=build /app/Govor.API/out ./
# Указываем порт (если используется нестандартный, замени 80)
EXPOSE 8080 EXPOSE 8080
# Запускаем приложение
ENTRYPOINT ["dotnet", "Govor.API.dll"] ENTRYPOINT ["dotnet", "Govor.API.dll"]