From 905200868b82c0ab296780a7af37215b815132ca Mon Sep 17 00:00:00 2001 From: damir Date: Sat, 4 Apr 2026 17:43:46 +0000 Subject: [PATCH] Update Dockerfile --- Dockerfile | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index d669b7e..18ab86c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,21 +2,17 @@ FROM golang:1.21-alpine AS builder # Устанавливаем рабочую директорию -WORKDIR /build +WORKDIR /app -# Копируем только go.mod (если go.sum нет, это не страшно) +# Сначала копируем файлы зависимостей COPY go.mod ./ -# Если go.sum существует локально, он подхватится, если нет — пропустится -COPY go.sum* ./ - -# Копируем исходный код -COPY . . - -# ВЫПОЛНЯЕМ TIDY ПЕРЕД СБОРКОЙ -# Это создаст/обновит go.sum внутри контейнера +COPY go.sum* ./ RUN go mod tidy -# Собираем статически скомпилированный бинарный файл для Linux +# Копируем ВЕСЬ проект (включая папку templates) +COPY . . + +# Собираем бинарник RUN CGO_ENABLED=0 GOOS=linux go build -o /app-binary main.go # ЭТАП 2: Финальный образ @@ -24,10 +20,12 @@ FROM alpine:latest RUN apk --no-cache add ca-certificates tzdata WORKDIR /root/ -# Копируем бинарник +# Копируем бинарник из корня (как указано в -o выше) COPY --from=builder /app-binary . -# ВАЖНО: копируем шаблоны -COPY --from=builder /build/templates ./templates + +# Копируем папку templates из рабочей директории сборщика (/app) +# Обратите внимание: путь должен совпадать с WORKDIR первого этапа +COPY --from=builder /app/templates ./templates EXPOSE 8080 CMD ["./app-binary"] \ No newline at end of file