NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker)

红色标记 2024-08-26 09:07:03 阅读 54

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker)

本文档详细介绍了在 Ubuntu Server 22.04 上使用 Docker 安装和配置 NVIDIA Container Toolkit 的过程。

概述

NVIDIA 容器工具包使用户能够构建和运行 GPU 加速容器。即可以在容器中使用NVIDIA显卡。

架构图如下:

在这里插入图片描述


目录

前提条件安装 NVIDIA Container Toolkit配置 Docker 以使用 NVIDIA 容器运行时验证配置


前提条件

安装了容器引擎(Docker)。安装了 NVIDIA Container Toolkit。

安装 NVIDIA Container Toolkit

配置生产存储库:

<code> curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgcode>

curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.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

作用:从 NVIDIA 官方网站下载 GPG 密钥并将其转换为适合 APT 使用的格式,然后下载 NVIDIA 容器工具包的 APT 源列表,并将其配置为使用之前下载的 GPG 密钥进行签名验证。

(可选)配置存储库以使用实验性软件包:

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

作用:启用实验性软件包源。这条命令将源列表文件中关于实验性软件包的行前面的注释符号(#)去掉,从而启用该源。

从存储库更新软件包列表:

sudo apt-get update

作用:更新 APT 包管理器的包列表,使其包含新添加的 NVIDIA 容器工具包源中的软件包。

安装 NVIDIA Container Toolkit 软件包:

sudo apt-get install -y nvidia-container-toolkit

作用:安装 NVIDIA 容器工具包。

配置 Docker 以使用 NVIDIA 容器运行时

配置容器运行时:

sudo nvidia-ctk runtime configure --runtime=docker

作用:使用 nvidia-ctk 命令配置 Docker 以使用 NVIDIA 容器运行时。这条命令会修改 /etc/docker/daemon.json 文件。

执行命令后的返回结果:

WARN[0000] Ignoring runtime-config-override flag for docker

INFO[0000] Config file does not exist; using empty config

INFO[0000] Wrote updated config to $HOME/.config/docker/daemon.json

INFO[0000] It is recommended that docker daemon be restarted.

解释

- WARN[0000] Ignoring runtime-config-override flag for docker:忽略 runtime-config-override 标志。

- INFO[0000] Config file does not exist; using empty config:配置文件不存在,使用空配置。

- INFO[0000] Wrote updated config to $HOME/.config/docker/daemon.json:已将更新后的配置写入到指定文件。

- INFO[0000] It is recommended that docker daemon be restarted:建议重启 Docker 守护进程。

重新启动 Docker 守护进程:

sudo systemctl restart docker

作用:重新启动 Docker 守护进程,以使配置更改生效。

验证配置

运行以下命令以验证 Docker 是否正确配置 NVIDIA 容器运行时:

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

输出

Unable to find image 'ubuntu:latest' locally

latest: Pulling from library/ubuntu

d19f32bd9e41: Pull complete

Digest: sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e

Status: Downloaded newer image for ubuntu:latest

Thu Jul 18 13:40:28 2024

+---------------------------------------------------------------------------------------+

| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |

|-----------------------------------------+----------------------+----------------------+

| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |

| | | MIG M. |

|=========================================+======================+======================|

| 0 NVIDIA GeForce RTX 3090 Off | XXXXXXXX:XX:XX.X Off | N/A |

| 34% 25C P8 19W / 350W | 1MiB / 24576MiB | 0% Default |

| | | N/A |

+-----------------------------------------+----------------------+----------------------+

| 1 NVIDIA GeForce RTX 3090 Off | XXXXXXXX:XX:XX.X Off | N/A |

| 32% 25C P8 7W / 350W | 1MiB / 24576MiB | 0% Default |

| | | N/A |

+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+

| Processes: |

| GPU GI CI PID Type Process name GPU Memory |

| ID ID Usage |

|=======================================================================================|

| No running processes found |

+---------------------------------------------------------------------------------------+

图示说明:该输出结果显示了 GPU 的详细信息,包括型号、温度、功率使用情况和内存使用情况等。这表明 Docker 容器成功地访问到了 NVIDIA GPU,并且 NVIDIA Container Toolkit 安装和配置成功。


通过以上步骤,你可以成功安装和配置 NVIDIA Container Toolkit,并能够在 Docker 容器中运行 GPU 加速的应用程序。如果在执行过程中遇到任何问题,请随时联系以获得进一步帮助。



声明

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