Selecting an Image#
Using one of the Jupyter Docker Stacks requires two choices:
Which Docker image you wish to use
How you wish to start Docker containers from that image
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:
Package managers
Unprivileged user
jovyan
(uid=1000
, configurable, see options in the common features section of this documentation) in groupusers
(gid=100
) with ownership over the/home/jovyan
and/opt/conda
pathstini
and astart.sh
script as the container entry point - useful for running alternative commands in the container as applications are added (e.g.ipython
,jupyter kernelgateway
,jupyter lab
)A
run-hooks.sh
script, which can source/run files in a given directoryOptions for a passwordless sudo
Common system libraries like
bzip2
,ca-certificates
,locales
wget
to download external filesNo preinstalled scientific computing packages
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:
Everything in
jupyter/docker-stacks-foundation
Minimally functional Server (e.g., no LaTeX support for saving notebooks as PDFs)
notebook
,jupyterhub
, andjupyterlab
packagesA
start-notebook.py
script as the default commandA
start-singleuser.py
script useful for launching containers in JupyterHubOptions for a self-signed HTTPS certificate
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:
Everything in
jupyter/minimal-notebook
and its ancestor imagesThe R interpreter and base environment
IRKernel to support R code in Jupyter notebooks
tidyverse packages from conda-forge
caret, crayon, devtools, forecast, hexbin, htmltools, htmlwidgets, nycflights13, randomforest, rcurl, rmarkdown, rodbc, rsqlite, shiny, tidymodels, unixodbc packages from conda-forge
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:
Everything in
jupyter/minimal-notebook
and its ancestor imagesThe Julia compiler and base environment
IJulia to support Julia code in Jupyter notebook
Pluto.jl reactive Julia notebook interface, made accessible with jupyter-pluto-proxy
HDF5 package
jupyter/scipy-notebook#
Source on GitHub | Dockerfile commit history | Quay.io image tags
jupyter/scipy-notebook
includes popular packages from the scientific Python ecosystem.
Everything in
jupyter/minimal-notebook
and its ancestor imagesaltair, beautifulsoup4, bokeh, bottleneck, cloudpickle, conda-forge::blas=*=openblas, cython, dask, dill, h5py, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd packages
ipympl and ipywidgets for interactive visualizations and plots in Python notebooks
Facets for visualizing machine learning datasets
jupyter/tensorflow-notebook#
Source on GitHub | Dockerfile commit history | Quay.io image tags
jupyter/tensorflow-notebook
includes popular Python deep learning libraries.
Everything in
jupyter/scipy-notebook
and its ancestor imagesTensorFlow machine learning library
Jupyter Server Proxy to support TensorBoard
jupyter/pytorch-notebook#
Source on GitHub | Dockerfile commit history | Quay.io image tags
jupyter/pytorch-notebook
includes popular Python deep learning libraries.
Everything in
jupyter/scipy-notebook
and its ancestor imagespytorch machine learning library
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.
Everything in the
jupyter/scipy-notebook
,jupyter/r-notebook
, andjupyter/julia-notebook
images and their ancestor imagesrpy2 package
jupyter/pyspark-notebook#
Source on GitHub | Dockerfile commit history | Quay.io image tags
jupyter/pyspark-notebook
includes Python support for Apache Spark.
Everything in
jupyter/scipy-notebook
and its ancestor imagesApache Spark with Hadoop binaries
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 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.
Builds#
Every Monday and whenever a pull request is merged, images are rebuilt and pushed to the public container registry.
Community Stacks#
The core stacks are but a tiny sample of what’s possible when combining Jupyter with other technologies. We encourage members of the Jupyter community to create their own stacks based on the core images and link them below. See the contributing guide for information about how to create your own Jupyter Docker Stack.
Flavor |
Binder |
Description |
---|---|---|
More than 200 Jupyter Notebooks with example C# code |
||
|
||
Based on IHaskell. Includes popular packages and example notebooks |
||
IJava kernel on top of the |
||
sagemath kernel on top of the |
||
Major geospatial Python & R libraries on top of the |
||
Kotlin kernel for Jupyter/IPython on top of the |
||
Transformers and NLP libraries such as |
||
Scraper tools ( |
||
Scala kernel for Jupyter using Almond on top of the |
Other GPU-accelerated notebooks#
Flavor |
Description |
---|---|
Power of your NVIDIA GPU and GPU calculations using Tensorflow and Pytorch in collaborative notebooks. This is done by generating a Dockerfile that consists of the nvidia/cuda base image, the well-maintained docker-stacks that is integrated as a submodule, and GPU-able libraries like Tensorflow, Keras and PyTorch on top of it. |
|
Images based on the jupyter/docker-stacks, built and maintained at the myLab TH Lübeck using build scripts similar to iot-salzburg. Several images include GPU libraries. |
|
PRP (Pacific Research Platform) maintained registry for jupyter stack based on NVIDIA CUDA-enabled image. Added the PRP image with Pytorch and some other Python packages and GUI Desktop notebook based on jupyterhub/jupyter-remote-desktop-proxy. |
|
GPU accelerated, multi-arch ( |