# builder FROM docker.io/library/golang:alpine AS builder #ENV GOPROXY=https://goproxy.cn ENV CGO_ENABLED=0 WORKDIR /builder RUN apk add --no-cache git make RUN --mount=type=cache,id=golang,target=/go/pkg go install github.com/swaggo/swag/cmd/swag@latest ARG IMAGE_PREFIX=git.0x7f.app/woj ENV CONTAINER_IMAGE_FULL=${IMAGE_PREFIX}/ubuntu-full:latest ENV CONTAINER_IMAGE_RUN=${IMAGE_PREFIX}/ubuntu-run:latest COPY go.mod /builder/go.mod COPY go.sum /builder/go.sum RUN --mount=type=cache,id=golang,target=/go/pkg go mod download COPY . /builder RUN --mount=type=cache,id=golang,target=/go/pkg make build # main image FROM docker.io/library/alpine WORKDIR /app RUN apk --no-cache add tzdata ca-certificates bash tini \ containerd nerdctl # sources COPY --from=builder /builder/resource/runner /app/resource/runner COPY --from=builder /builder/config.docker.yaml /app COPY --from=builder /builder/docker-entrypoint.sh /app COPY --from=builder /builder/woj /app # reap zombies from containerd-shim ENTRYPOINT ["/sbin/tini", "/app/docker-entrypoint.sh"]