Docker 如何支持 NVIDIA GPU

美味小鱼 2024-07-18 14:37:02 阅读 70

Docker 如何支持 GPU

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

系统要求

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

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

步骤 1:安装 NVIDIA 驱动程序

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

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

<code>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。

设置包存储库并安装 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

验证安装:

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 官方文档 或社区论坛寻求帮助。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。