woj-server/Runner.Dockerfile

41 lines
1007 B
Docker
Raw Normal View History

2023-07-15 18:14:50 +08:00
# builder
2023-08-11 18:54:00 +08:00
FROM docker.io/library/golang:alpine AS builder
2023-07-15 18:14:50 +08:00
ENV GOPROXY=https://goproxy.cn
2023-12-23 16:42:21 +08:00
ENV CGO_ENABLED=0
2023-07-15 18:14:50 +08:00
WORKDIR /builder
RUN apk add --no-cache git make
2023-12-23 16:42:21 +08:00
RUN --mount=type=cache,id=golang,target=/go/pkg go install github.com/swaggo/swag/cmd/swag@latest
2023-07-15 18:14:50 +08:00
COPY go.mod /builder/go.mod
COPY go.sum /builder/go.sum
2023-12-23 16:42:21 +08:00
RUN --mount=type=cache,id=golang,target=/go/pkg go mod download
2023-07-15 18:14:50 +08:00
COPY . /builder
2023-12-23 16:42:21 +08:00
RUN --mount=type=cache,id=golang,target=/go/pkg make build
2023-07-15 18:14:50 +08:00
# main image
2023-08-11 18:54:00 +08:00
FROM quay.io/podman/stable
# pkill
RUN yum -y install jq procps-ng && yum -y clean all && rm -rf /var/cache
2023-07-15 18:14:50 +08:00
WORKDIR /app
2023-08-11 18:54:00 +08:00
# prepare images
2023-07-15 18:14:50 +08:00
COPY --from=builder /builder/resource/runner /app/resource/runner
2023-08-11 18:54:00 +08:00
RUN bash -c "cd /app/resource/runner/scripts && ./prepare_images.sh save"
2023-07-15 18:14:50 +08:00
2023-08-11 18:54:00 +08:00
# sources
COPY --from=builder /builder/config.docker.yaml /app
COPY --from=builder /builder/docker-entrypoint.sh /app
2023-07-15 18:14:50 +08:00
COPY --from=builder /builder/woj /app
2024-01-04 18:12:00 +08:00
# switch user
RUN chown -R podman:podman /app
USER podman
2023-07-15 18:14:50 +08:00
ENTRYPOINT ["/app/docker-entrypoint.sh"]