Files
ping-helper/Dockerfile

39 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# --- Этап 1: Сборка (Builder) ---
FROM golang:1.24-alpine AS builder
WORKDIR /app
# Копируем файлы go.mod и go.sum для загрузки зависимостей
# Копируем файлы go.mod и go.sum для загрузки зависимостей
COPY go.mod go.sum ./
ENV GOPROXY=direct
RUN apk add --no-cache git
RUN go mod download
# Копируем весь остальной исходный код
COPY . .
# Собираем приложение. На этот раз точка входа - корень проекта.
RUN CGO_ENABLED=0 GOOS=linux go build -o /app/ping-helper -ldflags="-w -s" .
# --- Этап 2: Финальный образ (Final) ---
FROM alpine:latest
WORKDIR /app
# Копируем только скомпилированный бинарник из этапа сборки
COPY --from=builder /app/ping-helper .
# Добавляем сертификаты
RUN apk --no-cache add ca-certificates
# Запускаем от имени непривилегированного пользователя
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser
# Указываем, что контейнер будет слушать порт 8081
EXPOSE 8081
# Команда для запуска нашего приложения
ENTRYPOINT ["/app/ping-helper"]