19 lines
781 B
Docker
19 lines
781 B
Docker
# Универсальная сборка бинаря из cmd/* (ARG BIN=evobgp-api | evobgp-all).
|
|
# INSTALL_BIRDC=1 ставит bird2 в рантайм-образ для EVOBGP_BIRDC_SOCKET (poll метрик birdc).
|
|
FROM golang:1.22-bookworm AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
ARG BIN=evobgp-api
|
|
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/evobgp ./cmd/${BIN}
|
|
|
|
FROM debian:bookworm-slim
|
|
ARG INSTALL_BIRDC=0
|
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
|
|
&& if [ "$INSTALL_BIRDC" = "1" ]; then apt-get install -y --no-install-recommends bird2; fi \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=build /out/evobgp /usr/local/bin/evobgp
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/usr/local/bin/evobgp"]
|