From d253672a388a06220aa2d013a4103bf83ad7dbd3 Mon Sep 17 00:00:00 2001 From: damir Date: Sat, 4 Apr 2026 13:09:16 +0000 Subject: [PATCH] Add Dockerfile --- Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..93a316a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# ЭТАП 1: Сборка +FROM golang:1.21-alpine AS builder + +# Устанавливаем рабочую директорию +WORKDIR /build + +# Копируем файлы зависимостей +COPY go.mod ./ +# Если есть go.sum, раскомментируйте следующую строку +# COPY go.sum ./ + +# Загружаем зависимости +RUN go mod download + +# Копируем исходный код +COPY . . + +# Собираем статически скомпилированный бинарный файл для Linux +RUN CGO_ENABLED=0 GOOS=linux go build -o /app-binary main.go + +# ЭТАП 2: Финальный образ +FROM alpine:latest + +# Добавляем сертификаты (нужны для HTTPS запросов) и временную зону +RUN apk --no-cache add ca-certificates tzdata + +WORKDIR /root/ + +# Копируем только собранный бинарник из первого этапа +COPY --from=builder /app-binary . + +# Открываем порт +EXPOSE 8080 + +# Запускаем приложение +CMD ["./app-binary"] \ No newline at end of file