Docker Desktop or Github Codespaces#
See also
Important
When the Docker Env
is ready to use, click to continue to the quickstart section
Initialize and Fetch Submodules.
π Docker#
π‘ Work on Docker Desktop or Github Codespaces
Github Codespaces#



Docker Desktop#
# Forked repo: https://github.com/scikit-plots/scikit-plots.git
git clone https://github.com/YOUR-USER-NAME/scikit-plots.git
cd scikit-plots/docker
## Use terminal or open to vscode to run docker compose
code .
Docker Environment Setup for Jupyter and/or NVIDIA GPU
This repository contains Docker & Docker Compose configurations for running Jupyter Notebooks with optional NVIDIA GPU support.
You can run containers with either host-installed CUDA or pre-installed CUDA inside the container.
π Folder Structure#
docker/
βββ docker-compose.yml # Primary Docker Compose file
βββ docker-compose.override.yml # Optional override file (auto-included if present)
βββ Dockerfile # Custom Dockerfile
βββ script/
β βββ install_gpu_nvidia_cuda.sh # GPU setup script
π·οΈ Quick Start (Docker Compose)#
π‘ The easiest way to launch the environment is using Docker Compose.
βΆοΈ Run Docker Env Jupyter Notebook (CPU only)
docker compose up --build notebook_cpu
βΆοΈ Run Docker Env Jupyter Notebook (With NVIDIA Host GPU)
docker compose up --build app_nvidia_host_gpu_driver
βΆοΈ Run Docker Env Jupyter Notebook (With NVIDIA Internal CUDA GPU)
docker compose up --build app_nvidia_internal_gpu_driver
βΆοΈ Run Docker Env Jupyter Notebook by VS Code
π― Stop Containers#
docker compose down
π³ Docker Compose Configuration
This project is based on Docker Compose and includes multiple services:
πΉ notebook_cpu (CPU-Only)
Runs Jupyter Notebook using jupyter/tensorflow-notebook:latest
No CUDA support, best for lightweight tasks
Mounts the local folder scikit-plots to /home/jovyan/work
Runs on port 8888
πΉ app_nvidia_host_gpu_driver (Uses Host CUDA)
Runs Jupyter Notebook using jupyter/tensorflow-notebook:latest
Uses host-installed CUDA for GPU acceleration
Requires NVIDIA runtime enabled (βruntime=nvidia)
Runs on port 8889
πΉ app_nvidia_internal_gpu_driver (CUDA Inside Container)
Runs nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04 with pre-installed CUDA
Includes NVIDIA GPU support without needing host CUDA
Requires NVIDIA runtime (βruntime=nvidia)
Runs on port 8890
π οΈ Custom Docker Commands#
If you need more control, you can use Docker CLI commands.
βΆοΈ Build & Run the Container Manually
docker build -t my-custom-container -f docker/Dockerfile .
docker run -it --rm -p 8888:8888 my-custom-container
βΆοΈ Check GPU Availability Inside Container
docker exec -it <container_id> nvidia-smi
π₯οΈ Useful References#
π Jupyter Docker Stacks: Read the Docs
π Docker Compose: Official Docs
π Dockerfile Best Practices
π LocalStack Installation with Docker Compose
π NVIDIA CUDA in Containers: NVIDIA Docs

π Now youβre ready to run Jupyter notebooks in Docker! π