Ubuntu20.04 安装 NVIDIA Container Toolkit 用于 docker容器实现GPU加速

写在前面

自己的测试环境:Ubuntu20.04。
由于docker的容器内部需要调用CUDA,因此需要在本机(宿主机)安装 NVIDIA Container Toolkit
接下来的安装方法全部来自官方网站,如果遇到问题可以参考下官方网站

一、安装

NVIDIA Container Toolkit 使用户能够构建和运行 GPU 加速的容器。该工具包包括一个容器运行时库和实用程序,用于自动配置容器以利用 NVIDIA GPU。

  1. 配置 repository
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/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

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

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 从存储库更新包列表:
sudo apt-get update
  1. 安装 NVIDIA Container Toolkit 软件包:
sudo apt-get install -y nvidia-container-toolkit

二、配置 docker

  1. 使用 nvidia-ctk 命令配置容器运行时:
sudo nvidia-ctk runtime configure --runtime=docker

nvidia-ctk 命令修改主机上的 /etc/docker/daemon.json 文件。该文件已更新,以便 Docker 可以使用 NVIDIA 容器运行时。

笔者增加:
执行完这个指令,/etc/docker/daemon.json 中会增加如下语句:

"runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
  1. 重新启动 Docker 守护进程:
sudo systemctl restart docker

三、配置 docker 的无根模式 (笔者认为,这步可选)

(可选)Rootless mode (无根模式)

要为在 Rootless 模式下运行的 Docker 配置容器运行时,请按照以下步骤操作:

  1. 使用 nvidia-ctk 命令配置容器运行时:
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
  1. 重新启动 Rootless Docker daemon:
systemctl --user restart docker
  1. 使用 sudo nvidia-ctk 命令配置 /etc/nvidia-container-runtime/config.toml
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place

参考链接

[1] nvidia. Installing the NVIDIA Container Toolkit [EB/OL]. https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html, xxxx-xx-xx/2024-10-12.

### 如何在 Ubuntu 20.04安装 NVIDIA Container Toolkit #### 准备工作 确保 Docker 已经正确安装并运行于 Ubuntu 20.04 系统之上。可以通过命令 `sudo systemctl status docker` 来确认 Docker 的状态。 #### 更新软件包索引 为了获取最新的可用版本列表,执行更新操作是必要的: ```bash sudo apt-get update ``` #### 添加 NVIDIA 软件源密钥和仓库 添加官方 GPG 密钥以及配置文件来启用对 GPU 支持工具集的访问权限: ```bash 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 完成上述准备工作之后,就可以通过 APT 包管理器直接安装所需的组件了: ```bash sudo apt-get update sudo apt-get install -y nvidia-container-toolkit[^1] ``` #### 配置并重启 Docker 服务 为了让新的设置生效,需要重新启动 Docker 并对其进行适当配置以便支持 GPU 加速功能: ```bash sudo systemctl restart docker ``` 对于某些特定情况下的离线安装需求,则可以从 GitHub 发布页面下载适用于目标系统的二进制文件,并按照说明进行本地部署[^3]。 #### 测试安装成果 最后一步是对新安装的内容做简单测试以验证其正常运作: ```bash sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 此命令会拉取一个带有 CUDA 运行时环境的基础镜像,并尝试调用显卡信息显示程序 `nvidia-smi`,以此证明 GPU 设备已经被成功识别并且能够被容器化应用所利用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值