Block a user
test/all-spark-notebook (latest)
Published 2024-03-01 16:36:34 +01:00 by cseyfferth
Installation
docker pull git.seyfferth.dev/cseyfferth/test/all-spark-notebook:latestsha256:1bfe23ece6d536a4e1df46e49552673441e38fb7c1659030e53df81df4e0fcaa
Image Layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:0ad2ee2cfb186802f49c9bf4148674d1c6fc201f83478ec01ffaa7086d491323 in / |
| CMD ["/bin/bash"] |
| ENV NVARCH=x86_64 |
| ENV NVIDIA_REQUIRE_CUDA=cuda>=11.8 brand=tesla,driver>=450,driver<451 brand=tesla,driver>=470,driver<471 brand=unknown,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=geforce,driver>=470,driver<471 brand=geforcertx,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=titan,driver>=470,driver<471 brand=titanrtx,driver>=470,driver<471 brand=tesla,driver>=510,driver<511 brand=unknown,driver>=510,driver<511 brand=nvidia,driver>=510,driver<511 brand=nvidiartx,driver>=510,driver<511 brand=geforce,driver>=510,driver<511 brand=geforcertx,driver>=510,driver<511 brand=quadro,driver>=510,driver<511 brand=quadrortx,driver>=510,driver<511 brand=titan,driver>=510,driver<511 brand=titanrtx,driver>=510,driver<511 brand=tesla,driver>=515,driver<516 brand=unknown,driver>=515,driver<516 brand=nvidia,driver>=515,driver<516 brand=nvidiartx,driver>=515,driver<516 brand=geforce,driver>=515,driver<516 brand=geforcertx,driver>=515,driver<516 brand=quadro,driver>=515,driver<516 brand=quadrortx,driver>=515,driver<516 brand=titan,driver>=515,driver<516 brand=titanrtx,driver>=515,driver<516 |
| ENV NV_CUDA_CUDART_VERSION=11.8.89-1 |
| ENV NV_CUDA_COMPAT_PACKAGE=cuda-compat-11-8 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/${NVARCH}/cuda-keyring_1.0-1_all.deb && dpkg -i cuda-keyring_1.0-1_all.deb && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV CUDA_VERSION=11.8.0 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-11-8=${NV_CUDA_CUDART_VERSION} ${NV_CUDA_COMPAT_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit |
| ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 |
| COPY NGC-DL-CONTAINER-LICENSE / # buildkit |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV LANG=C.UTF-8 |
| COPY setup.sources.sh /setup.sources.sh # buildkit |
| COPY setup.packages.sh /setup.packages.sh # buildkit |
| COPY gpu.packages.txt /gpu.packages.txt # buildkit |
| RUN /bin/sh -c /setup.sources.sh # buildkit |
| RUN /bin/sh -c /setup.packages.sh /gpu.packages.txt # buildkit |
| ARG PYTHON_VERSION=python3.11 |
| ARG TENSORFLOW_PACKAGE=tf-nightly |
| COPY setup.python.sh /setup.python.sh # buildkit |
| COPY gpu.requirements.txt /gpu.requirements.txt # buildkit |
| RUN |2 PYTHON_VERSION=python3.11 TENSORFLOW_PACKAGE=tf-nightly /bin/sh -c /setup.python.sh $PYTHON_VERSION /gpu.requirements.txt # buildkit |
| RUN |2 PYTHON_VERSION=python3.11 TENSORFLOW_PACKAGE=tf-nightly /bin/sh -c pip install --no-cache-dir ${TENSORFLOW_PACKAGE} # buildkit |
| COPY setup.cuda.sh /setup.cuda.sh # buildkit |
| RUN |2 PYTHON_VERSION=python3.11 TENSORFLOW_PACKAGE=tf-nightly /bin/sh -c /setup.cuda.sh # buildkit |
| COPY bashrc /etc/bash.bashrc # buildkit |
| RUN |2 PYTHON_VERSION=python3.11 TENSORFLOW_PACKAGE=tf-nightly /bin/sh -c chmod a+rwx /etc/bash.bashrc # buildkit |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| ARG NB_USER=jovyan |
| ARG NB_UID=1000 |
| ARG NB_GID=100 |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c apt-get update --yes && apt-get upgrade --yes && apt-get install --yes --no-install-recommends bzip2 ca-certificates locales sudo 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/nvidia/bin:/usr/local/cuda/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/bash -o pipefail -c chmod a+rx /usr/local/bin/fix-permissions # buildkit |
| RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -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/bash -o pipefail -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 --no-log-init --create-home --shell /bin/bash --uid "${NB_UID}" --no-user-group "${NB_USER}" && mkdir -p "${CONDA_DIR}" && chown "${NB_USER}:${NB_GID}" "${CONDA_DIR}" && chmod g+w /etc/passwd && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
| USER 1000 |
| ARG PYTHON_VERSION=3.11 |
| RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.11 /bin/bash -o pipefail -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.11 /bin/bash -o pipefail -c set -x && arch=$(uname -m) && if [ "${arch}" = "x86_64" ]; then arch="64"; fi && wget --progress=dot:giga -O /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 |
| ENTRYPOINT ["tini" "-g" "--"] |
| CMD ["start.sh"] |
| COPY start.sh /usr/local/bin/ # buildkit |
| USER root |
| RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.11 /bin/bash -o pipefail -c mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d # buildkit |
| USER 1000 |
| WORKDIR /home/jovyan |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends fonts-liberation pandoc run-one && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| USER 1000 |
| WORKDIR /tmp |
| RUN /bin/bash -o pipefail -c mamba install --yes 'jupyterlab' 'notebook' 'jupyterhub' 'nbclassic' && jupyter server --generate-config && mamba clean --all -f -y && npm cache clean --force && 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:{}] |
| CMD ["start-notebook.sh"] |
| COPY start-notebook.sh start-singleuser.sh /usr/local/bin/ # buildkit |
| COPY jupyter_server_config.py docker_healthcheck.py /etc/jupyter/ # buildkit |
| USER root |
| RUN /bin/bash -o pipefail -c fix-permissions /etc/jupyter/ # buildkit |
| HEALTHCHECK &{["CMD-SHELL" "/etc/jupyter/docker_healthcheck.py || exit 1"] "5s" "3s" "5s" '\x03'} |
| USER 1000 |
| WORKDIR /home/jovyan |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends curl git nano-tiny tzdata unzip vim-tiny openssh-client less texlive-xetex texlive-fonts-recommended texlive-plain-generic xclip && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/bash -o pipefail -c update-alternatives --install /usr/bin/nano nano /bin/nano-tiny 10 # buildkit |
| USER 1000 |
| COPY Rprofile.site /opt/conda/lib/R/etc/ # buildkit |
| COPY setup-scripts/ /opt/setup-scripts/ # buildkit |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends build-essential cm-super dvipng ffmpeg && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| USER 1000 |
| RUN /bin/bash -o pipefail -c echo 'jupyterlab >=4.0.4' >> "${CONDA_DIR}/conda-meta/pinned" && echo 'notebook >=7.0.2' >> "${CONDA_DIR}/conda-meta/pinned" # buildkit |
| RUN /bin/bash -o pipefail -c mamba install --yes 'altair' 'beautifulsoup4' 'bokeh' 'bottleneck' 'cloudpickle' 'conda-forge::blas=*=openblas' 'cython' 'dask' 'dill' 'h5py' 'ipympl' 'ipywidgets' 'jupyterlab-git' 'matplotlib-base' 'numba' 'numexpr' 'openpyxl' 'pandas' 'patsy' 'protobuf' 'pytables' 'scikit-image' 'scikit-learn' 'scipy' 'seaborn' 'sqlalchemy' 'statsmodels' 'sympy' 'widgetsnbextension' 'xlrd' && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
| WORKDIR /tmp |
| RUN /bin/bash -o pipefail -c git clone https://github.com/PAIR-code/facets.git && jupyter nbclassic-extension install facets/facets-dist/ --sys-prefix && rm -rf /tmp/facets && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
| ENV XDG_CACHE_HOME=/home/jovyan/.cache/ |
| RUN /bin/bash -o pipefail -c MPLBACKEND=Agg python -c "import matplotlib.pyplot" && fix-permissions "/home/${NB_USER}" # buildkit |
| USER 1000 |
| WORKDIR /home/jovyan |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| ARG spark_version=3.4.1 |
| ARG hadoop_version=3 |
| ARG scala_version |
| ARG spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 |
| ARG openjdk_version=17 |
| ENV APACHE_SPARK_VERSION=3.4.1 HADOOP_VERSION=3 |
| RUN |5 spark_version=3.4.1 hadoop_version=3 scala_version= spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 openjdk_version=17 /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends "openjdk-${openjdk_version}-jre-headless" ca-certificates-java && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| WORKDIR /tmp |
| RUN |5 spark_version=3.4.1 hadoop_version=3 scala_version= spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 openjdk_version=17 /bin/bash -o pipefail -c if [ -z "${scala_version}" ]; then curl --progress-bar --location --output "spark.tgz" "https://dlcdn.apache.org/spark/spark-${APACHE_SPARK_VERSION}/spark-${APACHE_SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz"; else curl --progress-bar --location --output "spark.tgz" "https://dlcdn.apache.org/spark/spark-${APACHE_SPARK_VERSION}/spark-${APACHE_SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}-scala${scala_version}.tgz"; fi && echo "${spark_checksum} *spark.tgz" | sha512sum -c - && tar xzf "spark.tgz" -C /usr/local --owner root --group root --no-same-owner && rm "spark.tgz" # buildkit |
| ENV SPARK_HOME=/usr/local/spark |
| ENV SPARK_OPTS=--driver-java-options=-Xms1024M --driver-java-options=-Xmx4096M --driver-java-options=-Dlog4j.logLevel=info PATH=/opt/conda/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/spark/bin |
| RUN |5 spark_version=3.4.1 hadoop_version=3 scala_version= spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 openjdk_version=17 /bin/bash -o pipefail -c if [ -z "${scala_version}" ]; then ln -s "spark-${APACHE_SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}" "${SPARK_HOME}"; else ln -s "spark-${APACHE_SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}-scala${scala_version}" "${SPARK_HOME}"; fi && ln -s "${SPARK_HOME}/sbin/spark-config.sh" /usr/local/bin/before-notebook.d/spark-config.sh # buildkit |
| COPY ipython_kernel_config.py /etc/ipython/ # buildkit |
| RUN |5 spark_version=3.4.1 hadoop_version=3 scala_version= spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 openjdk_version=17 /bin/bash -o pipefail -c fix-permissions "/etc/ipython/" # buildkit |
| USER 1000 |
| RUN |5 spark_version=3.4.1 hadoop_version=3 scala_version= spark_checksum=5a21295b4c3d1d3f8fc85375c711c7c23e3eeb3ec9ea91778f149d8d321e3905e2f44cf19c69a28df693cffd536f7316706c78932e7e148d224424150f18b2c5 openjdk_version=17 /bin/bash -o pipefail -c mamba install --yes 'pandas>=1.5.3,<2.0.0' 'pyarrow' && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
| WORKDIR /home/jovyan |
| EXPOSE map[4040/tcp:{}] |
| LABEL maintainer=Jupyter Project <jupyter@googlegroups.com> |
| SHELL [/bin/bash -o pipefail -c] |
| USER root |
| ENV R_LIBS_USER=/usr/local/spark/R/lib |
| RUN /bin/bash -o pipefail -c fix-permissions "${R_LIBS_USER}" # buildkit |
| RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends fonts-dejavu gfortran gcc && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| USER 1000 |
| RUN /bin/bash -o pipefail -c mamba install --yes 'r-base' 'r-ggplot2' 'r-irkernel' 'r-rcurl' 'r-sparklyr' && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
Labels
| Key | Value |
|---|---|
| maintainer | Jupyter Project <jupyter@googlegroups.com> |
| org.opencontainers.image.ref.name | ubuntu |
| org.opencontainers.image.version | 22.04 |