Compare commits
1 Commits
f252a4933f
...
a288e52eeb
| Author | SHA1 | Date | |
|---|---|---|---|
| a288e52eeb |
35
Dockerfile
35
Dockerfile
@@ -0,0 +1,35 @@
|
|||||||
|
# --- Этап 1: Сборка (Builder) ---
|
||||||
|
FROM golang:1.22-alpine AS builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Копируем файлы go.mod и go.sum для загрузки зависимостей
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
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"]
|
||||||
|
|||||||
Reference in New Issue
Block a user