Instalación de NVIDIA Container Toolkit para su uso en Docker
Integrar GPU NVIDIA con Docker (NVIDIA Container Toolkit 1.17.0)
Integrar GPUs NVIDIA con Docker permite ejecutar aplicaciones aceleradas por GPU dentro de contenedores, ideal para tareas como aprendizaje profundo y cómputo intensivo. Aquí se detalla cómo instalar y configurar el NVIDIA Container Toolkit 1.17.0 en sistemas Ubuntu/Debian.
Requisitos previos
Hardware
- GPU NVIDIA: Compatible con CUDA. Revisa la lista oficial.
- Memoria suficiente: Asegúrate de que la GPU tenga memoria para las tareas que quieres correr.
Software
-
Sistema operativo: Ubuntu 18.04/20.04/22.04 o Debian Stretch/Buster.
-
Controladores NVIDIA instalados: Verifica con:
nvidia-smi -
Docker instalado: Comprueba con:
docker --versionSi no lo tienes, sigue la documentación oficial.
-
CUDA Toolkit (opcional): Solo si vas a ejecutar código CUDA fuera de Docker:
nvcc --version
Instalación del NVIDIA Container Toolkit
1. Configurar el repositorio de NVIDIA
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/stable/$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
Esto añade el repositorio y la clave GPG necesaria.
2. Actualizar repositorios
sudo apt-get update
3. Instalar el toolkit
sudo apt-get install -y nvidia-container-toolkit
4. Configurar Docker para usar el runtime de NVIDIA
sudo nvidia-ctk runtime configure --runtime=docker
Este comando edita automáticamente /etc/docker/daemon.json.
5. Reiniciar Docker
sudo systemctl restart docker
Verificar la instalación
Contenedor de prueba
sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
Debe mostrar el estado y detalles de tu GPU.
Solución de problemas
Problemas comunes
nvidia-smino funciona en el host: Revisa los controladores.- Docker no detecta GPU: Revisa configuración del runtime.
- Errores en el contenedor: Asegúrate de que el toolkit esté instalado correctamente.