structure uniformed to Jupyterlab docker stacks

This commit is contained in:
2024-05-19 11:50:17 +08:00
parent 9e3f375f30
commit 2c9db69064

View File

@@ -3,9 +3,9 @@ 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 openjdk21-jre 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 curl -O https://repo1.maven.org/maven2/dev/hcf/ganymede/ganymede/2.1.2.20230910/ganymede-2.1.2.20230910.jar
RUN adduser luser --system -s /bin/sh -h /var/lib/jupyter RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
USER luser USER jovyan
WORKDIR /var/lib/jupyter WORKDIR /home/jovyan
RUN python -m venv venv RUN python -m venv venv
RUN venv/bin/pip install numpy RUN venv/bin/pip install numpy
RUN venv/bin/pip install matplotlib RUN venv/bin/pip install matplotlib
@@ -17,23 +17,23 @@ RUN venv/bin/pip install ipywidgets
RUN venv/bin/pip install jupyterlab-lsp RUN venv/bin/pip install jupyterlab-lsp
RUN venv/bin/pip install python-lsp-server[yapf,rope,pyflakes] RUN venv/bin/pip install python-lsp-server[yapf,rope,pyflakes]
RUN venv/bin/pip install pylsp-mypy RUN venv/bin/pip install pylsp-mypy
ENV PATH="/var/lib/jupyter/venv/bin/:$PATH" ENV PATH="/home/jovyan/venv/bin/:$PATH"
RUN java -jar /ganymede-2.1.2.20230910.jar -i --copy-jar=true RUN java -jar /ganymede-2.1.2.20230910.jar -i --copy-jar=true
FROM alpine:3.19 FROM alpine:3.19
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 texlive texlive-xetex texlive-full apk add python3 openjdk21-jre texlive texlive-xetex texlive-full
RUN adduser luser --system -s /bin/sh -h /var/lib/jupyter RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
USER luser USER jovyan
WORKDIR /var/lib/jupyter COPY --from=build /home/jovyan /home/jovyan
COPY --from=build /var/lib/jupyter /var/lib/jupyter
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
WORKDIR /home/jovyan/work
ENV JUPYTER_PORT=8888 ENV JUPYTER_PORT=8888
EXPOSE $JUPYTER_PORT EXPOSE $JUPYTER_PORT
ENV PATH="/var/lib/jupyter/venv/bin/:$PATH" ENV PATH="/home/jovyan/venv/bin/:$PATH"
CMD ["start-notebook.py"] CMD ["start-notebook.py"]
# HEALTHCHECK documentation: https://docs.docker.com/engine/reference/builder/#healthcheck # HEALTHCHECK documentation: https://docs.docker.com/engine/reference/builder/#healthcheck