jupyterlab-datascience-gpu (latest)

Published 2023-10-11 00:21:14 +00:00 by grosse in grosse/jupyterlab-datascience-gpu

Installation

docker pull git.sandbox.iuk.hdm-stuttgart.de/grosse/jupyterlab-datascience-gpu:latest
sha256:bc231aa79240f032df4f1bde0a25a490a5395eac5580d8ae6d3becb4342796b8

Image Layers

ADD file:1f1efd56601ebc26a041a7b994a380ef68112b91a078e225753bee7b3196d22c in /
CMD ["bash"]
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=C.UTF-8
/bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/*
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
ENV PYTHON_VERSION=3.10.8
/bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg dirmngr libbluetooth-dev libbz2-dev libc6-dev libexpat1-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; command -v gpgconf > /dev/null && gpgconf --kill all || :; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-system-expat --without-ensurepip ; nproc="$(nproc)"; make -j "$nproc" LDFLAGS="-Wl,--strip-all" ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; python3 --version
/bin/sh -c set -eux; for src in idle3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done
ENV PYTHON_PIP_VERSION=22.2.2
ENV PYTHON_SETUPTOOLS_VERSION=63.2.0
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/66030fa03382b4914d4c4d0896961a0bdeeeb274/public/get-pip.py
ENV PYTHON_GET_PIP_SHA256=1e501cf004eac1b7eb1f97266d28f995ae835d30250bec7f8850562703067dc6
/bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" "setuptools==$PYTHON_SETUPTOOLS_VERSION" ; rm -f get-pip.py; pip --version
CMD ["python3"]
ARG NB_USER=jovyan
ARG NB_UID=1000
ARG NB_GID=100
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/sh -c apt-get update --yes && apt-get upgrade --yes && apt-get install --yes --no-install-recommends bzip2 ca-certificates ffmpeg git git-lfs locales curl libportaudio2 dnsutils sudo nano build-essential tini wget && apt-get clean && rm -rf /var/lib/apt/lists/* && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen # buildkit
ENV CONDA_DIR=/opt/conda SHELL=/bin/bash NB_USER=jovyan NB_UID=1000 NB_GID=100 LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
ENV PATH=/opt/conda/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/home/jovyan
COPY fix-permissions /usr/local/bin/fix-permissions # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/sh -c chmod a+rx /usr/local/bin/fix-permissions # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/sh -c sed -i 's/^#force_color_prompt=yes/force_color_prompt=yes/' /etc/skel/.bashrc && echo 'eval "$(command conda shell.bash hook 2> /dev/null)"' >> /etc/skel/.bashrc # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/sh -c echo "auth requisite pam_deny.so" >> /etc/pam.d/su && sed -i.bak -e 's/^%admin/#%admin/' /etc/sudoers && sed -i.bak -e 's/^%sudo/#%sudo/' /etc/sudoers && useradd -l -m -s /bin/bash -N -u "${NB_UID}" "${NB_USER}" && mkdir -p "${CONDA_DIR}" && chown "${NB_USER}:${NB_GID}" "${CONDA_DIR}" && chmod g+w /etc/passwd && fix-permissions "${HOME}" && fix-permissions "${CONDA_DIR}" # buildkit
USER 1000
ARG PYTHON_VERSION=3.10
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c mkdir "/home/${NB_USER}/work" && fix-permissions "/home/${NB_USER}" # buildkit
COPY initial-condarc /opt/conda/.condarc # buildkit
WORKDIR /tmp
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c set -x && arch=$(uname -m) && if [ "${arch}" = "x86_64" ]; then arch="64"; fi && wget -qO /tmp/micromamba.tar.bz2 "https://micromamba.snakepit.net/api/micromamba/linux-${arch}/latest" && tar -xvjf /tmp/micromamba.tar.bz2 --strip-components=1 bin/micromamba && rm /tmp/micromamba.tar.bz2 && PYTHON_SPECIFIER="python=${PYTHON_VERSION}" && if [[ "${PYTHON_VERSION}" == "default" ]]; then PYTHON_SPECIFIER="python"; fi && ./micromamba install --root-prefix="${CONDA_DIR}" --prefix="${CONDA_DIR}" --yes "${PYTHON_SPECIFIER}" 'mamba' 'jupyter_core' && rm micromamba && mamba list python | grep '^python ' | tr -s ' ' | cut -d ' ' -f 1,2 >> "${CONDA_DIR}/conda-meta/pinned" && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
ENV CONDA_CUDA_OVERRIDE=11.2
ENV NUM_GPUS=1
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c CONDA_OVERRIDE_CUDA="11.2" conda install tensorflow-gpu==2.11.0 -c conda-forge # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c CONDA_OVERRIDE_CUDA="11.2" conda install -c conda-forge pytorch-gpu # buildkit
WORKDIR /tmp
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c mamba install --quiet --yes 'notebook==6.4.12' 'jupyterhub==2.3.1' 'mathjax' 'voila==0.3.7' 'jupyterlab-git' 'numba' 'cython' 'matplotlib' 'pandas' 'scipy' 'scikit-image' 'scikit-learn' 'jupyterlab==3.4.3' 'ipywebrtc' && jupyter notebook --generate-config && mamba clean --all -f -y && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
ENV JUPYTER_PORT=8888
EXPOSE map[8888/tcp:{}]
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c pip install --extra-index-url https://git.sandbox.iuk.hdm-stuttgart.de/api/packages/grosse/pypi/simple jupyterlab-sandbox-theme # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c pip install --extra-index-url https://git.sandbox.iuk.hdm-stuttgart.de/api/packages/grosse/pypi/simple jupyterlab-sandbox-announcement # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c pip install sounddevice wavio # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c pip install opencv-python-headless # buildkit
CMD ["start-notebook.sh"]
COPY start-notebook.sh start-singleuser.sh /usr/local/bin/ # buildkit
COPY jupyter_server_config.py /etc/jupyter/ # buildkit
USER root
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c echo 'export PATH=/opt/conda/bin:$PATH' >> /etc/profile # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c sed -re "s/c.ServerApp/c.NotebookApp/g" /etc/jupyter/jupyter_server_config.py > /etc/jupyter/jupyter_notebook_config.py && fix-permissions /etc/jupyter/ # buildkit
HEALTHCHECK &{["CMD-SHELL" "wget -O- --no-verbose --tries=1 --no-check-certificate http${GEN_CERT:+s}://localhost:${JUPYTER_PORT}${JUPYTERHUB_SERVICE_PREFIX:-/}api || exit 1"] "5s" "3s" "5s" "0s" '\x03'}
USER 1000
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/sh -c jupyter labextension disable "@jupyterlab/apputils-extension:announcements" # buildkit
WORKDIR /home/jovyan

Labels

Key Value
org.opencontainers.image.created 2023-10-10T23:12:39Z
org.opencontainers.image.revision 665f20e68718ef636f9b120a5c201fe27ecc61b5
org.opencontainers.image.source https://git.sandbox.iuk.hdm-stuttgart.de/grosse/jupyterlab-datascience-gpu.git
org.opencontainers.image.url https://git.sandbox.iuk.hdm-stuttgart.de/grosse/jupyterlab-datascience-gpu
Details
Container
2023-10-11 00:21:14 +00:00
24
OCI / Docker
linux/amd64
16 GiB
Versions (13) View all