Don't waste time on setting up a deep learning environment while you can get a deep learning environment with everything pre-installed.
- Jupyter lab
- Lightning (PyTorch images)
- Matplotlib
- NLTK
- Numpy
- Pandas
- Plotly
- PyTorch
- ruff
- Scikit-Image
- Scikit-Learn
- SciPy
- Seaborn
- TensorFlow
- uv
- zellij
| Variant | Tag | PyTorch | TensorFlow | Image size |
|---|---|---|---|---|
| Tensorflow | tf |
❌ | ✔️ | |
| PyTorch | torch |
✔️ | ❌ | |
| PyTorch + Tensorflow | tf-torch, latest |
✔️ | ✔️ |
All images use a uv-managed Python 3.13 in /opt/venv on Ubuntu 26.04. CUDA 12.6 and cuDNN come from the PyTorch and TensorFlow pip wheels, so the only host requirement is an NVIDIA driver that supports CUDA 12 (>= 525). The conda and tf-torch-conda tags are no longer built; the last conda-based images remain on Docker Hub.
You can see the full list of tags https://hub.docker.com/r/matifali/dockerdl/tags.
- Docker
- nvidia-container-toolkit 1
- Linux, or Windows with WSL2
docker run --gpus all --rm -it -h dockerdl matifali/dockerdl bashdocker run --gpus all --rm -it -h dockerdl -p 8888:8888 matifali/dockerdl jupyter lab --no-browser --port 8888 --ServerApp.token='' --ip='*'Connect by opening http://localhost:8888 in your browser.
git clone https://github.com/matifali/dockerdl.gitModify the corresponding [Dockerfile] to add or delete packages.
Note
You may have to rebuild the dockerdl-base if you are building a custom image and then use it as a base image. See Build section.
The base image is plain ubuntu; edit the FROM line in base.Dockerfile to change it. The CUDA version is chosen by the pip wheels: PyTorch comes from the cu126 index (torch.Dockerfile, tf-torch.Dockerfile) and TensorFlow's [and-cuda] extra pulls matching CUDA 12 libraries.
Python is installed by uv into /opt/venv (owned by the ubuntu user, so uv pip install <pkg> works without sudo). Pick the version with --build-arg PYTHON_VER=3.13 (default; the newest version TensorFlow ships wheels for).
Build the base image
docker build -t dockerdl-base:latest -f base.Dockerfile .Build the image you want with the base image as the base image.
docker build -t dockerdl:tf --build-arg BASE_IMAGE=dockerdl-base:latest --build-arg TF_VERSION=2.21.0 -f tf.Dockerfile .or
docker build -t dockerdl:torch --build-arg BASE_IMAGE=dockerdl-base:latest -f torch.Dockerfile .- Install Coder. (https://github.com/coder/coder).
- Use deeplearning template which references these images (https://github.com/matifali/coder-templates/tree/main/deeplearning).
Follow the instructions here.
If you find any issue please feel free to create an issue and submit a PR.
Footnotes
-
CUDA and cuDNN libraries come from the PyTorch/TensorFlow pip wheels; nvidia-container-toolkit mounts the host driver,
nvidia-smiandlibnvidia-mlinto the container. ↩
