Docker——Docker访问GPU笔记


NVIDIA Docker 工具链

  • 若直接安装 docker 并启动 GPU 程序,会出现报错

  • 比如,下面使用 Megatron 官方教程的命令(会使用到 GPU):

    1
    sudo docker run --ipc=host --shm-size=512m --gpus 2 -it nvcr.io/nvidia/pytorch:24.02-py3
  • 执行上面的命令时出现下面的错误

    1
    docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
  • 出现上面问题的原因是,Docker 无法找到合适的 GPU 驱动程序

    • Docker 访问 GPU 需要专门为 Docker 做的工具链 NVIDIA Docker
    • 上述问题一般是:NVIDIA Docker 工具链未正确安装或配置导致的
  • NVIDIA Docker 工具链安装方式:

    • 第一步:确保 NVIDIA 驱动已经安装

      1
      nvidia-smi
    • 第二步:安装 NVIDIA Docker 工具链

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      # 添加NVIDIA的包仓库
      distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
      curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
      curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

      # 安装nvidia-container-toolkit
      sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

      # 重启Docker服务
      sudo systemctl restart docker