Docker container can't see GPU — nvidia-container-toolkit missing
Cause
docker run --gpus all fails because nvidia-container-toolkit isn't installed (or the Docker daemon wasn't restarted after install). This is the single most common Docker-GPU failure.
Solution
1. Install nvidia-container-toolkit (Ubuntu / Debian):
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
2. Configure Docker runtime + restart daemon:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
3. Verify GPU visible in container:
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 nvidia-smi
4. Docker Compose GPU access:
services:
vllm:
image: vllm/vllm-openai:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
5. WSL2 case: the same toolkit install works inside WSL2 with Docker Desktop's WSL2 backend. The Windows-host driver passes through; you only need the toolkit + Docker engine inside WSL2.
Full pattern in the Linux local AI guide.
Related errors
Did this fix it?
If your case was different, email Contact support with what you saw and we'll update the page. If it worked but took different commands on your platform, we want to know that too.