updated Ganymede and python images
This commit is contained in:
@@ -1,31 +1,43 @@
|
||||
FROM alpine:3.19 AS build
|
||||
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
|
||||
apk update &&\
|
||||
apk add python3 python3-dev pipx gcc musl-dev linux-headers
|
||||
RUN adduser luser --system -s /bin/sh -h /var/lib/jupyter
|
||||
USER luser
|
||||
WORKDIR /var/lib/jupyter
|
||||
RUN pipx install jupyter-core
|
||||
RUN pipx inject jupyter-core jupyterlab
|
||||
RUN pipx inject jupyter-core ipywidgets
|
||||
RUN pipx inject jupyter-core jupyterlab-lsp
|
||||
RUN pipx inject jupyter-core python-lsp-server[yapf,rope,pyflakes]
|
||||
RUN pipx inject jupyter-core pylsp-mypy
|
||||
RUN pipx inject jupyter-core matplotlib
|
||||
RUN pipx inject jupyter-core numpy
|
||||
|
||||
apk add python3 python3-dev pipx gcc g++ musl-dev linux-headers libffi-dev
|
||||
RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
|
||||
USER jovyan
|
||||
WORKDIR /home/jovyan
|
||||
RUN python -m venv venv
|
||||
RUN venv/bin/pip install numpy
|
||||
RUN venv/bin/pip install matplotlib
|
||||
RUN venv/bin/pip install jupyter-core
|
||||
RUN venv/bin/pip install jupyterhub
|
||||
RUN venv/bin/pip install jupyterlab
|
||||
RUN venv/bin/pip install notebook
|
||||
RUN venv/bin/pip install ipywidgets
|
||||
RUN venv/bin/pip install jupyterlab-lsp
|
||||
RUN venv/bin/pip install python-lsp-server[yapf,rope,pyflakes]
|
||||
RUN venv/bin/pip install pylsp-mypy
|
||||
RUN venv/bin/pip install solders
|
||||
RUN venv/bin/pip install solana
|
||||
ENV PATH="/home/jovyan/venv/bin/:$PATH"
|
||||
|
||||
FROM alpine:3.19
|
||||
RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \
|
||||
apk update &&\
|
||||
apk add python3 texlive texlive-xetex texlive-full
|
||||
|
||||
RUN adduser luser --system -s /bin/sh -h /var/lib/jupyter
|
||||
USER luser
|
||||
WORKDIR /var/lib/jupyter
|
||||
COPY --from=build /var/lib/jupyter /var/lib/jupyter
|
||||
ENV PATH="/var/lib/jupyter/.local/bin/:$PATH"
|
||||
ENTRYPOINT ["jupyter", "lab", "--no-browser", "--ip=0.0.0.0"]
|
||||
EXPOSE 8888/tcp
|
||||
|
||||
apk add python3
|
||||
RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan
|
||||
USER jovyan
|
||||
COPY --from=build /home/jovyan /home/jovyan
|
||||
COPY jupyter_server_config.py docker_healthcheck.py /etc/jupyter/
|
||||
COPY start-notebook.py start-singleuser.py /usr/local/bin/
|
||||
RUN mkdir /home/jovyan/work
|
||||
WORKDIR /home/jovyan/work
|
||||
ENV JUPYTER_PORT=8888
|
||||
EXPOSE $JUPYTER_PORT
|
||||
ENV PATH="/home/jovyan/venv/bin/:$PATH"
|
||||
CMD ["start-notebook.py"]
|
||||
|
||||
# HEALTHCHECK documentation: https://docs.docker.com/engine/reference/builder/#healthcheck
|
||||
# This healtcheck works well for `lab`, `notebook`, `nbclassic`, `server`, and `retro` jupyter commands
|
||||
# https://github.com/jupyter/docker-stacks/issues/915#issuecomment-1068528799
|
||||
HEALTHCHECK --interval=3s --timeout=1s --start-period=3s --retries=3 \
|
||||
CMD /etc/jupyter/docker_healthcheck.py || exit 1
|
||||
|
Reference in New Issue
Block a user