Docker & Podman Deployment¶
Run Bazzite AI workloads on any platform with Docker or Podman.
Bazzite AI OS Users
If you're on Bazzite AI OS, use the ujust commands instead for integrated GPU support and systemd service management.
Quick Start¶
| Workload | Image | Description |
|---|---|---|
| nvidia-python | ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable | ML/AI development |
| jupyter | ghcr.io/atrawog/bazzite-ai-pod-jupyter:stable | JupyterLab |
| ollama | ghcr.io/atrawog/bazzite-ai-pod-ollama:stable | LLM inference |
| comfyui | ghcr.io/atrawog/bazzite-ai-pod-comfyui:stable | Image generation |
# NVIDIA GPU
docker run -it --rm --gpus all -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable
# CPU-only (macOS/Windows/Linux without GPU)
docker run -it --rm -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable
# AMD/Intel GPU (Linux)
docker run -it --rm --device=/dev/dri -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable
Workload Examples¶
nvidia-python (ML/AI)¶
# Interactive shell
docker run -it --rm --gpus all -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable
# Run training script
docker run --rm --gpus all -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-nvidia-python:stable \
pixi run --manifest-path /opt/pixi/pixi.toml python /workspace/train.py
jupyter (JupyterLab)¶
# Start JupyterLab (access http://localhost:8888)
docker run -it --rm --gpus all -p 8888:8888 -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-jupyter:stable
# Different port
docker run -it --rm --gpus all -p 9999:8888 -v $(pwd):/workspace \
ghcr.io/atrawog/bazzite-ai-pod-jupyter:stable
ollama (LLM Inference)¶
# Start Ollama server
docker run -d --gpus all -p 11434:11434 \
-v ~/.ollama:/home/jovian/.ollama \
ghcr.io/atrawog/bazzite-ai-pod-ollama:stable
# Pull and run a model
curl http://localhost:11434/api/pull -d '{"name": "llama3.2"}'
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "prompt": "Hello"}'
Common Options¶
GPU Access¶
| GPU | Flag |
|---|---|
| NVIDIA (all) | --gpus all |
| NVIDIA (specific) | --gpus '"device=0"' |
| AMD/Intel | --device=/dev/dri |
Volume Mounts¶
| Mount | Purpose |
|---|---|
-v $(pwd):/workspace | Working directory |
-v ~/.ollama:/home/jovian/.ollama | Ollama models |
Ports¶
| Service | Port |
|---|---|
| JupyterLab | -p 8888:8888 |
| Ollama | -p 11434:11434 |
| ComfyUI | -p 8188:8188 |
Prerequisites¶
Docker¶
- Linux: Install Docker Engine
- macOS/Windows: Install Docker Desktop
Podman¶
- Linux: Install Podman
- macOS:
brew install podman - Windows: Install Podman Desktop
NVIDIA GPU (Linux only)¶
# Ubuntu/Debian
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Fedora/RHEL
sudo dnf install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Troubleshooting¶
GPU Not Detected¶
# Verify GPU on host
nvidia-smi
# Check container toolkit
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
Permission Denied¶
Container runs as user jovian (UID 1000):
See Also¶
- Bazzite AI OS Deployment - Recommended for Bazzite users
- Kubernetes Guide - k3d cluster deployment
- HPC Guide - Research clusters