nvidia-docker2


Docker 如何支持 GPU

Docker 是一个强大的工具,可以帮助开发者构建、部署和运行应用程序。对于需要高性能计算的应用程序,例如机器学习、深度学习和科学计算,利用 GPU 可以大大提升计算效率。本文将详细介绍 Docker 如何支持 GPU 以及如何配置 GPU 支持。

系统要求

在开始之前,请确保您的系统满足以下要求:

  • 支持 NVIDIA GPU 并安装了 NVIDIA 驱动程序。
  • 安装了 Docker 19.03 或更新版本。
  • 安装了 NVIDIA Container Toolkit。
步骤 1:安装 NVIDIA 驱动程序

首先,确保系统上安装了适用于您的 GPU 的 NVIDIA 驱动程序。您可以从 NVIDIA 官方网站 下载适用于您的操作系统和 GPU 的驱动程序。

您可以通过以下命令检查 NVIDIA 驱动程序是否正确安装:

nvidia-smi

该命令将显示有关 GPU 的信息,包括驱动程序版本和 GPU 使用情况。

步骤 2:安装 Docker

如果尚未安装 Docker,请按照以下步骤进行安装。

对于 Ubuntu:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce

对于 CentOS:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
sudo systemctl start docker
步骤 3:安装 NVIDIA Container Toolkit

安装 NVIDIA Container Toolkit 以使 Docker 能够使用 GPU。

  1. 设置包存储库并安装 NVIDIA Container Toolkit:

对于 Ubuntu:

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
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

对于 CentOS:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo rpm --import -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum install -y nvidia-docker2
sudo systemctl restart docker
  1. 验证安装:
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

该命令将运行一个包含 NVIDIA 驱动程序的 Docker 容器,并显示有关 GPU 的信息。

步骤 4:配置 Docker 使用 GPU

使用 GPU 运行 Docker 容器时,您需要在 docker run 命令中添加 --gpus 选项。

示例命令:

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

这个命令将拉取 nvidia/cuda:11.0-base 镜像,并在容器中运行 nvidia-smi 命令,显示 GPU 的使用情况。

您还可以指定使用特定数量的 GPU。例如,要使用 2 个 GPU:

sudo docker run --rm --gpus 2 nvidia/cuda:11.0-base nvidia-smi
使用 Docker Compose 配置 GPU 支持

如果您使用 Docker Compose 来管理容器,可以在 docker-compose.yml 文件中配置 GPU 支持。

示例 docker-compose.yml 文件:

version: '3.8'
services:
  gpu-service:
    image: nvidia/cuda:11.0-base
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
    command: nvidia-smi

使用以下命令启动服务:

sudo docker-compose up
总结

通过以上步骤,我们在 Linux 系统上成功配置了 Docker 支持 GPU。利用 GPU 加速,您可以显著提升高性能计算任务的效率。无论是单个容器还是通过 Docker Compose 管理的多容器环境,Docker 的 GPU 支持都使得高性能计算变得更加便捷和高效。

希望这篇博客对您在 Linux 上配置 Docker GPU 支持有所帮助!如果在配置过程中遇到任何问题,可以参考 Docker 官方文档 或社区论坛寻求帮助。

Avatar photo

By YXI.AI

Leave a Reply

Your email address will not be published. Required fields are marked *