updated Ganymede jupyterhub image
Some checks failed
CI / Build Jupyter Ganymede docker images (push) Failing after 40s

This commit is contained in:
2025-05-15 14:57:36 +08:00
parent a7136a0a0c
commit 29debdb1a2

View File

@@ -1,25 +1,39 @@
FROM alpine:3.19 AS build FROM alpine:3.21 AS build-base
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
apk update &&\ apk update &&\
apk add python3 python3-dev openjdk21-jre pipx gcc g++ musl-dev linux-headers which curl libffi-dev apk add python3 python3-dev pipx gcc g++ musl-dev linux-headers which curl libffi-dev
RUN curl -O https://repo1.maven.org/maven2/dev/hcf/ganymede/ganymede/2.1.2.20230910/ganymede-2.1.2.20230910.jar
RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
FROM build-base AS java-build
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
apk add openjdk11-jdk maven
USER jovyan
WORKDIR /home/jovyan
#RUN curl -O https://repo1.maven.org/maven2/dev/hcf/ganymede/ganymede/2.1.2.20230910/ganymede-2.1.2.20230910.jar
ADD --chown=jovyan:jovyan https://github.com/allen-ball/ganymede.git ganymede
WORKDIR /home/jovyan/ganymede
RUN --mount=type=cache,target=/home/jovyan/.m2/,uid=1000,gid=1000,sharing=locked mvn -Dmaven.test.skip=true package
FROM build-base AS python-build
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
apk add openjdk21-jre
USER jovyan USER jovyan
WORKDIR /home/jovyan WORKDIR /home/jovyan
RUN python -m venv venv RUN python -m venv venv
RUN venv/bin/pip install jupyter-core RUN --mount=type=cache,target=/home/jovyan/.cache/pip,uid=1000,gid=1000 venv/bin/pip install jupyter-core
RUN venv/bin/pip install notebook==5.7.16 RUN --mount=type=cache,target=/home/jovyan/.cache/pip,uid=1000,gid=1000 venv/bin/pip install notebook jupyterlab
ENV PATH="/home/jovyan/venv/bin/:$PATH" ENV PATH="/home/jovyan/venv/bin/:$PATH"
RUN java -jar /ganymede-2.1.2.20230910.jar -i --copy-jar=true RUN --mount=type=bind,from=java-build,src=/home/jovyan/ganymede/ganymede/target/ganymede-2.1.3-SNAPSHOT.jar,target=/home/jovyan/ganymede.jar\
RUN venv/bin/pip install jupyterhub java -jar /home/jovyan/ganymede.jar -i --copy-jar=true
RUN --mount=type=cache,target=/home/jovyan/.cache/pip,uid=1000,gid=1000 venv/bin/pip install jupyterhub
FROM alpine:3.19 FROM alpine:3.21
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
apk update &&\ apk update &&\
apk add python3 openjdk21-jre apk add python3 openjdk21-jre
RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
USER jovyan USER jovyan
COPY --from=build /home/jovyan /home/jovyan COPY --from=python-build /home/jovyan /home/jovyan
COPY jupyter_server_config.py docker_healthcheck.py /etc/jupyter/ COPY jupyter_server_config.py docker_healthcheck.py /etc/jupyter/
COPY start-notebook.py start-singleuser.py /usr/local/bin/ COPY start-notebook.py start-singleuser.py /usr/local/bin/
RUN mkdir /home/jovyan/work RUN mkdir /home/jovyan/work