Dockerfile21 lines · 570 chars # syntax=docker/dockerfile:1
FROM golang:1.25.8-alpine3.22 AS builder
WORKDIR /src
RUN apk add --no-cache git ca-certificates
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/root/.cache/go-build \
go mod download
COPY . .
RUN --mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -trimpath -o /out/docker-compose ./cmd
FROM alpine:3.19
RUN apk add --no-cache ca-certificates
WORKDIR /root
COPY --from=builder /out/docker-compose /docker-compose
RUN chmod +x /docker-compose
ENTRYPOINT ["/docker-compose"]