Selecting an Image — Docker Stacks documentation (original) (raw)

This section provides details about the first.

Core Stacks#

The Jupyter team maintains a set of Docker image definitions in the jupyter/docker-stacks GitHub repository. The following sections describe these images, including their contents, relationships, and versioning strategy.

jupyter/docker-stacks-foundation#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/docker-stacks-foundation is a small image supporting a majority of options common across all core stacks. It is the basis for all other stacks on which Jupyter-related applications can be built (e.g., kernel-based containers, nbclient applications, etc.). As such, it does not contain application-level software like JupyterLab, Jupyter Notebook, or JupyterHub.

It contains:

jupyter/base-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/base-notebook adds base Jupyter Applications like JupyterLab, Jupyter Notebook, JupyterHub, and NBClassic and serves as the basis for all other stacks besides jupyter/docker-stacks-foundation.

It contains:

Warning

jupyter/base-notebook also contains start-notebook.sh and start-singleuser.sh files to maintain backward compatibility. External config that explicitly refers to those files should instead update to refer to start-notebook.py and start-singleuser.py. The shim .sh files will be removed at some future date.

jupyter/minimal-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/minimal-notebook adds command-line tools useful when working in Jupyter applications.

It contains:

jupyter/r-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/r-notebook includes popular packages from the R ecosystem listed below:

jupyter/julia-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/julia-notebook includes popular packages from the Julia ecosystem listed below:

jupyter/scipy-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/scipy-notebook includes popular packages from the scientific Python ecosystem.

jupyter/tensorflow-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/tensorflow-notebook includes popular Python deep learning libraries.

jupyter/pytorch-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/pytorch-notebook includes popular Python deep learning libraries.

jupyter/datascience-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/datascience-notebook includes libraries for data analysis from the Python, R, and Julia communities.

jupyter/pyspark-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/pyspark-notebook includes Python support for Apache Spark.

jupyter/all-spark-notebook#

Source on GitHub |Dockerfile commit history |Quay.io image tags

jupyter/all-spark-notebook includes Python and R support for Apache Spark.

CUDA enabled variants#

We provide CUDA accelerated versions of the pytorch-notebook and tensorflow-notebook images. Prepend a CUDA prefix (versioned prefix like cuda12- for pytorch-notebook or just cuda- for tensorflow-notebook) to the image tag to allow PyTorch or TensorFlow operations to use compatible NVIDIA GPUs for accelerated computation. We only build pytorch-notebook for the last two major versions of CUDA. The tensorflow-notebook image only supports the latest CUDA version listed in the officially tested build configurations.

For example, you could use the image quay.io/jupyter/pytorch-notebook:cuda12-python-3.11.8 or quay.io/jupyter/tensorflow-notebook:cuda-latest.

Image Relationships#

The following diagram depicts the build dependency tree of the core images. (i.e., the FROM statements in their Dockerfiles). Any given image inherits the complete content of all ancestor images pointing to it.

Image inheritancediagram

Builds#

Every Monday and whenever a pull request is merged, images are rebuilt and pushed to the public container registry.

Versioning via image tags#

Whenever a docker image is pushed to the container registry, it is tagged with:

Warning

For stability and reproducibility, you should either reference a date formatted tag from a date before the current date (in UTC) or a git commit SHA older than the latest git commit SHA in the default branch of thejupyter/docker-stacks GitHub repository.