FROM golang:1.26-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY ./app ./app/ COPY main.go . RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg/mod go build -v -o api . FROM alpine:3.23 AS runner WORKDIR /app COPY --from=builder /src/api /app/api EXPOSE 8080 CMD ["/app/api"] USER nobody