# jupyter/docker-stacks

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jupyter-docker-stacks).**

8,432 stars · 2,993 forks · Python · BSD-3-Clause

## Links

- GitHub: https://github.com/jupyter/docker-stacks
- Homepage: https://jupyter-docker-stacks.readthedocs.io
- awesome-repositories: https://awesome-repositories.com/repository/jupyter-docker-stacks.md

## Topics

`docker` `ipython` `ipython-notebook` `jupyter` `jupyter-notebook` `jupyter-notebooks` `jupyterhub` `jupyterlab` `notebook` `python`

## Description

This project is a collection of pre-configured Docker images that provide ready-to-run environments for interactive computing and data science. It functions as a scientific computing stack and a polyglot notebook server, bundling language interpreters and libraries for Python, R, and Julia within a containerized system to ensure reproducible research environments.

The collection uses a layered image hierarchy to provide versioned software dependencies and support for hardware acceleration across different CPU architectures. It allows for the creation of custom images based on a foundation of pre-configured tools, supporting both single-machine and distributed data processing.

The project covers a broad capability surface including the deployment of interactive workspaces via centralized hubs, the integration of deep learning frameworks and scientific computing libraries, and the orchestration of distributed workloads through Spark clusters. It also includes utilities for managing volume permissions, user identity synchronization, and the conversion of notebooks to PDF.

## Tags

### DevOps & Infrastructure

- [Interactive Environment Deployment](https://awesome-repositories.com/f/devops-infrastructure/interactive-environment-deployment.md) — Deploys ready-to-run servers and hubs using pre-configured images containing data science tools. ([source](https://cdn.jsdelivr.net/gh/jupyter/docker-stacks@main/README.md))
- [Host-Synced User Identities](https://awesome-repositories.com/f/devops-infrastructure/configuration-profile-switching/user-identity-switching/host-synced-user-identities.md) — Configures internal container user IDs and group settings to match host system permissions for seamless file ownership. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/troubleshooting.html))
- [Ready-to-Run Docker Images](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-container-execution/repository-built-container-hook-runs/ready-to-run-docker-images.md) — Provides ready-to-run Docker images that launch immediate interactive computing workspaces. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/running.html))
- [Containerized Server Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-server-deployments.md) — Starts containerized interactive servers with a choice of available frontends. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/))
- [Portable Application Launches](https://awesome-repositories.com/f/devops-infrastructure/portable-server-deployments/portable-mode/portable-application-launches.md) — Launches servers from pre-configured images to provide an environment without manual installation. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/_sources/index.rst))
- [Development Environment Reproducibility](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/development-environment-reproducibility.md) — Creates reproducible project environments using version-controlled configurations that distribute images across networks. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/running.html))
- [Research Environment Reproducibility](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/development-environment-reproducibility/research-environment-reproducibility.md) — Ensures consistent software dependencies and hardware acceleration across platforms for reproducible research.
- [Runtime Version Customization](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/version-compatibility-tools/runtime-version-customization.md) — Enables building environments with specific software versions to meet project compatibility requirements. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/specifics.html))
- [Config-Driven Image Building](https://awesome-repositories.com/f/devops-infrastructure/config-driven-image-building.md) — Uses configuration files to standardize the generation of multiple container images from a single source.
- [Global Server Settings](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/server-and-site-configuration/global-server-settings.md) — Passes custom arguments to startup scripts to modify server behavior and authentication. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html))
- [Multi-User Hub Configurations](https://awesome-repositories.com/f/devops-infrastructure/container-deployment-configurations/multi-user-hub-configurations.md) — Configures centralized systems like JupyterHub to manage and launch user-specific container environments. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/running.html))
- [Container Entrypoint Execution](https://awesome-repositories.com/f/devops-infrastructure/container-entrypoint-execution.md) — Provides startup scripts that execute at container launch to configure user identities and server settings.
- [Multi-Architecture Images](https://awesome-repositories.com/f/devops-infrastructure/container-image-builders/multi-architecture-images.md) — Produces image manifests tailored for different CPU architectures and hardware-accelerated computing.
- [Custom Container and VM Image Creation](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/custom-container-images/custom-container-and-vm-image-creation.md) — Standardizes the production of custom image stacks using templates and orchestration tools. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/custom-images.html))
- [Volume Management](https://awesome-repositories.com/f/devops-infrastructure/volume-management.md) — Updates ownership and group settings of mounted volumes at runtime to ensure correct file access. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/troubleshooting.html))
- [User Permission Mapping](https://awesome-repositories.com/f/devops-infrastructure/volume-mounts/host-guest-mounts/user-permission-mapping.md) — Aligns internal container user and group IDs with the host system to ensure seamless file ownership.
- [Distributed Compute Environments](https://awesome-repositories.com/f/devops-infrastructure/worker-scaling/distributed-data-workload-scaling/distributed-compute-environments.md) — Supports executing applications in both single-machine and distributed modes using specialized image stacks. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/specifics.html))

### Programming Languages & Runtimes

- [Interactive Computing Environments](https://awesome-repositories.com/f/programming-languages-runtimes/interactive-computing-environments.md) — Deploys ready-to-use Docker images that launch interactive Jupyter servers for data analysis and coding.
- [Runtime Environment Extensions](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-environment-extensions.md) — Supports the creation of inherited images to permanently install specific packages and dependencies. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/faq.html))
- [Container Startup Hooks](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-management-utilities/run-lifecycle-controls/lifecycle-hook-executions/container-startup-hooks.md) — Executes shell scripts or binaries during the container startup sequence to customize the environment. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html))

### Scientific & Mathematical Computing

- [Polyglot Data Science Environments](https://awesome-repositories.com/f/scientific-mathematical-computing/polyglot-data-science-environments.md) — Bundles Python, R, and Julia interpreters into a single image for multi-language data science.
- [Scientific Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing.md) — Bundles a comprehensive suite of data science libraries for technical analysis and visualization. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html))

### Part of an Awesome List

- [Custom Image Builds](https://awesome-repositories.com/f/awesome-lists/devtools/image-build-and-analysis/custom-image-builds.md) — Allows users to build project-specific images using a foundation of pre-configured scientific tools. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/))
- [Deep Learning](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning.md) — Provides pre-configured environments integrated with deep learning frameworks and hardware acceleration for neural network workloads. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html))
- [Image Dependency Hierarchies](https://awesome-repositories.com/f/awesome-lists/devtools/image-management/image-alias-management/image-dependency-hierarchies.md) — Defines dependencies between images and maps tags to appropriate images within a build chain. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/maintaining/tagging.html))

### Data & Databases

- [Big Data Processing](https://awesome-repositories.com/f/data-databases/big-data-processing.md) — Provides distributed binaries and language support for large-scale data processing with Spark. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html))
- [Distributed Data Processing](https://awesome-repositories.com/f/data-databases/distributed-data-processing.md) — Integrates Spark clusters and distributed binaries into containers for large-scale data processing.
- [Docker Volume Persistence](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes/docker-volume-persistence.md) — Uses Docker volume mounting to ensure user files and notebooks persist across container restarts. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/faq.html))
- [Persistent Volume Mapping](https://awesome-repositories.com/f/data-databases/persistent-volume-mapping.md) — Uses bind mounts and volume mapping to decouple user notebooks and data from the ephemeral container.

### Development Tools & Productivity

- [Environment Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/environment-bootstrapping.md) — Provides base images with package managers and entry point scripts to bootstrap custom data science containers. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html))
- [Interactive Notebooks](https://awesome-repositories.com/f/development-tools-productivity/interactive-notebooks.md) — Launches interactive notebook servers immediately using pre-configured image stacks. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html))
- [Containerized Notebook Servers](https://awesome-repositories.com/f/development-tools-productivity/notebook-environments/integrated-notebook-deployments/containerized-notebook-servers.md) — Ships a containerized polyglot notebook server supporting multiple languages and distributed processing.
- [Containerized Workspaces](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces/workspace-organization/containerized-workspaces.md) — Provides isolated containerized workspaces for team collaboration and interactive computing.
- [Interactive Frontend Configurations](https://awesome-repositories.com/f/development-tools-productivity/extensible-configuration-interfaces/interactive-frontend-configurations.md) — Allows specification of which interactive interface or startup command to use upon container execution. ([source](https://cdn.jsdelivr.net/gh/jupyter/docker-stacks@main/README.md))
- [Language-Specific Package Managers](https://awesome-repositories.com/f/development-tools-productivity/installed-package-management/language-specific-package-managers.md) — Enables the installation of libraries into the default environment using language-specific package managers. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html))
- [Server Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/notebook-environments/server-orchestrators.md) — Orchestrates the launch of interactive servers with specific frontends via startup scripts. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html))
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Provides mechanisms to declare external packages via configuration to add required libraries to a session. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/specifics.html))

### Software Engineering & Architecture

- [Layered Image Composition](https://awesome-repositories.com/f/software-engineering-architecture/modular-package-systems/layered-image-composition.md) — Implements a layered image hierarchy to build specialized data science environments from a minimal base.

### Artificial Intelligence & ML

- [Spark Cluster Connectivity](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-deep-learning/spark-integrations/spark-cluster-connectivity.md) — Configures network settings and environment variables to establish stable connections with standalone Spark clusters. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/specifics.html))
- [Hardware Acceleration Support](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration-support.md) — Provides images compatible with multiple CPU architectures and hardware-accelerated variants. ([source](https://cdn.jsdelivr.net/gh/jupyter/docker-stacks@main/README.md))

### Security & Cryptography

- [Secure Connection Handlers](https://awesome-repositories.com/f/security-cryptography/secure-connection-handlers.md) — Supports mounting certificates and keys into containers to enable encrypted HTTPS traffic. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html))

### System Administration & Monitoring

- [Multi-User Hosting Environments](https://awesome-repositories.com/f/system-administration-monitoring/multi-user-hosting-environments.md) — Provides multi-user hosting environments for groups to share interactive computing tools. ([source](https://jupyter-docker-stacks.readthedocs.io/en/latest/))
