26 lines
No EOL
603 B
Docker
26 lines
No EOL
603 B
Docker
FROM docker.io/golang:1.24-alpine AS builder
|
|
|
|
ENV CGO_ENABLED=0
|
|
|
|
WORKDIR /src
|
|
|
|
RUN \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=bind,source=./go.mod,target=./go.mod,rw=false \
|
|
--mount=type=bind,source=./go.sum,target=./go.sum,rw=false \
|
|
go mod download
|
|
|
|
COPY . ./
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
mkdir -p ./out && \
|
|
go build -o ./out/pg_v_man -trimpath -ldflags '-s -w' main.go
|
|
|
|
FROM gcr.io/distroless/static:nonroot
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /src/out/pg_v_man ./
|
|
|
|
ENTRYPOINT ["/app/pg_v_man"] |