diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fe1152b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,30 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md +!**/.gitignore +!.git/HEAD +!.git/config +!.git/packed-refs +!.git/refs/heads/** \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1880c8a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Используем образ SDK для сборки +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /source + +# Копируем файлы проекта и восстанавливаем зависимости +COPY . . +RUN dotnet restore "ТГ бот.csproj" + +# Сборка проекта +RUN dotnet publish "ТГ бот.csproj" -c Release -o /app/publish + +# Используем образ ASP.NET для запуска +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +WORKDIR /app +COPY --from=build /app/publish . + +ENTRYPOINT ["dotnet", "ТГ бот.dll"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0ee70f1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.8' + +services: + bot: + build: . + container_name: telegram_bot + ports: + - "8080:80" + working_dir: /app + command: ["dotnet", "ТГ бот.dll"] diff --git a/ТГ бот.csproj b/ТГ бот.csproj index 7894194..ad650e7 100644 --- a/ТГ бот.csproj +++ b/ТГ бот.csproj @@ -6,6 +6,7 @@ ТГ_бот enable enable + $(SolutionDir)bin/$(Configuration)/net8.0/ Linux .