26 lines
735 B
Docker
26 lines
735 B
Docker
# Изменено: 2026-03-19
|
|
# Multi-stage build для event-dispatcher.
|
|
# Stage 1: сборка бинаря
|
|
# Stage 2: минимальный образ (нужен ca-certificates для TLS к RabbitMQ и k8s API)
|
|
FROM golang:1.25-alpine AS builder
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
|
|
WORKDIR /workspace
|
|
COPY go.mod go.mod
|
|
COPY go.sum go.sum
|
|
RUN go mod download
|
|
|
|
COPY api/ api/
|
|
COPY services/event-dispatcher/ services/event-dispatcher/
|
|
|
|
RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} \
|
|
go build -a -o event-dispatcher ./services/event-dispatcher/
|
|
|
|
FROM alpine:3.19
|
|
RUN apk add --no-cache ca-certificates
|
|
WORKDIR /
|
|
COPY --from=builder /workspace/event-dispatcher .
|
|
USER 65532:65532
|
|
ENTRYPOINT ["/event-dispatcher"]
|