Skip to main content

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

  1. Sistema operativo: Ubuntu 18.04/20.04/22.04 o Debian Stretch/Buster.

  2. Controladores NVIDIA instalados: Verifica con:

    nvidia-smi
    
  3. Docker instalado: Comprueba con:

    docker --version
    

    Si no lo tienes, sigue la documentación oficial.

  4. 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-smi no 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.

Referencias