do_simple/Dockerfile
2025-11-18 00:01:58 +03:00

36 lines
764 B
Docker

# Build stage
FROM golang:1.25-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/.
# Final stage
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=builder /app/main .
# Создать директорию для приложения
WORKDIR /app
COPY --from=builder /app/main .
# Создать non-root пользователя для безопасности
RUN addgroup -g 1001 -S appuser && \
adduser -u 1001 -S appuser -G appuser && \
chown -R appuser:appuser /app
USER appuser
# Установить переменные окружения
ENV PORT=8080
ENV HOST=0.0.0.0
EXPOSE 8080
CMD ["./main"]