2022-01-19 02:12:48 -05:00
|
|
|
# ---
|
|
|
|
# Stage 1: Install certs, build binary, create default config file
|
|
|
|
# ---
|
2022-10-05 05:21:14 -05:00
|
|
|
FROM ghcr.io/project-zot/golang:1.19 AS builder
|
2022-01-19 02:12:48 -05:00
|
|
|
ARG COMMIT
|
2022-01-24 00:19:01 -05:00
|
|
|
ARG OS
|
|
|
|
ARG ARCH
|
2022-01-19 02:12:48 -05:00
|
|
|
RUN mkdir -p /go/src/github.com/project-zot/zot
|
|
|
|
WORKDIR /go/src/github.com/project-zot/zot
|
|
|
|
COPY . .
|
2022-01-24 00:19:01 -05:00
|
|
|
RUN make COMMIT=$COMMIT OS=$OS ARCH=$ARCH clean bench
|
2022-01-19 02:12:48 -05:00
|
|
|
|
|
|
|
# ---
|
|
|
|
# Stage 2: Final image with nothing but certs, binary, and default config file
|
|
|
|
# ---
|
2022-02-16 17:03:03 -05:00
|
|
|
FROM gcr.io/distroless/base AS final
|
2022-02-10 16:38:37 -05:00
|
|
|
ARG OS
|
|
|
|
ARG ARCH
|
2022-01-24 00:19:01 -05:00
|
|
|
COPY --from=builder /go/src/github.com/project-zot/zot/bin/zb-$OS-$ARCH /usr/bin/zb
|
2022-01-19 02:12:48 -05:00
|
|
|
ENTRYPOINT ["/usr/bin/zb"]
|