woj-server/Runner.Dockerfile

38 lines
945 B
Docker

# 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 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 go mod download
COPY . /builder
RUN 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"]