From 42e58dad9fbe3338ad74ce5b90cfb94c6599a2b8 Mon Sep 17 00:00:00 2001 From: Artemy <109195690+stalcker2288969@users.noreply.github.com> Date: Tue, 1 Jul 2025 19:49:43 +0700 Subject: [PATCH] dockerfile add --- Dockerfile | 30 ++++++++++++++++++++++++++++++ Govor.Console/FriendsClient.cs | 1 - Govor.sln | 3 +++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c09fdf5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +# Используем официальный образ с SDK для сборки +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /app + +# Копируем 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/ +RUN dotnet restore + +# Копируем все исходники и билдим проект в Release режиме +COPY . . +WORKDIR /app/Govor.API +RUN dotnet publish -c Release -o out + +# Используем лёгкий runtime образ для запуска +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +WORKDIR /app + +# Копируем билд из предыдущего этапа +COPY --from=build /app/Govor.API/out ./ + +# Указываем порт (если используется нестандартный, замени 80) +EXPOSE 80 +EXPOSE 443 + +# Запускаем приложение +ENTRYPOINT ["dotnet", "Govor.API.dll"] diff --git a/Govor.Console/FriendsClient.cs b/Govor.Console/FriendsClient.cs index 21d327a..1accf06 100644 --- a/Govor.Console/FriendsClient.cs +++ b/Govor.Console/FriendsClient.cs @@ -1,4 +1,3 @@ -using System.Net.Http; using System.Net.Http.Json; using Govor.Contracts.DTOs; diff --git a/Govor.sln b/Govor.sln index 2a9769a..d3eeb87 100644 --- a/Govor.sln +++ b/Govor.sln @@ -13,6 +13,9 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{4ED5259A-6FB4-4D89-8E6B-4778DC68F7D4}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{114F53C1-B0AB-4BA0-9E36-0E811D1B3776}" + ProjectSection(SolutionItems) = preProject + Dockerfile = Dockerfile + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Govor.Contracts", "Govor.Contracts\Govor.Contracts.csproj", "{4E94907F-BE20-42A6-AB15-637850FEAD11}" EndProject