woj-server/Runner.Dockerfile

39 lines
1.1 KiB
Docker
Raw Permalink Normal View History

ARG IMAGE_PREFIX=git.0x7f.app/woj
2024-03-13 20:03:12 +08:00
ARG VERSION=latest
2024-03-13 20:03:12 +08:00
# Base image
FROM ${IMAGE_PREFIX}/woj-server-base:${VERSION} AS base
2023-07-15 18:14:50 +08:00
2024-03-13 20:03:12 +08:00
# Rootfs: debian-full
FROM ${IMAGE_PREFIX}/debian-full:${VERSION} AS rootfs-full
2023-07-15 18:14:50 +08:00
2024-03-13 20:03:12 +08:00
# Rootfs: debian-full
FROM ${IMAGE_PREFIX}/debian-run:${VERSION} AS rootfs-run
2023-07-15 18:14:50 +08:00
2024-03-13 20:03:12 +08:00
# Main image
FROM docker.io/library/debian:bookworm-slim
2023-07-15 18:14:50 +08:00
WORKDIR /app
RUN apt-get update && apt-get upgrade -y \
2024-03-14 17:27:34 +08:00
&& apt-get install -y ca-certificates gosu libnl-route-3-200 libprotobuf32 tini \
&& apt-get clean && rm -rf /var/lib/apt/lists
2023-07-15 18:14:50 +08:00
2024-03-13 20:03:12 +08:00
# rootfs
COPY --from=rootfs-full / /app/resource/runner/framework/rootfs/full
COPY --from=rootfs-run / /app/resource/runner/framework/rootfs/run
# nsjail
COPY --from=rootfs-full /woj/framework/scripts/nsjail /app/resource/runner/framework/scripts/nsjail
2023-07-15 18:14:50 +08:00
# sources
COPY --from=base /builder/resource/runner /app/resource/runner
COPY --from=base /builder/config.docker.yaml /app
COPY --from=base /builder/docker-entrypoint.sh /app
COPY --from=base /builder/woj /app
2024-03-14 17:27:34 +08:00
# tell entrypoint to setup runner env
ENV RUNNER_IMAGE=1
2024-03-13 22:17:00 +08:00
# reap zombies
ENTRYPOINT ["/usr/bin/tini", "/app/docker-entrypoint.sh"]