之前也有在centos7和ubuntu20.04安装过nvidia-container-runtime,这次是在ubuntu22.04上进行安装,nvidia-container-runtime的作用就是在docker环境使用GPU卡,安装了nvidia-container-runtime以后docker默认的runc需要替换为nvidia的runc,也就是nvidia-container-runtime,这个binnary的作用是启动容器的时候识别英伟达相关的环境变量而在创建容器前可以做一些前置动作,例如挂在nvidia设备符号和命令相关文件。
下面我们来看看在ubuntu22.04上如何安装,此次我们把在线和离线安装的方法都记录下
1.docker环境在线安装
这种方式如果本地没有安装docker会自动安装docker,如果你的容器不是使用docker建议使用后面两种方式安装
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 update
sudo apt install -y nvidia-docker2
sudo systemctl restart docker
这种方式安装完以后基本都会自动给我们修改docker的daemon.json的配置,主要是添加nvidia-container-runtime的runtime工具。
它会自动修改,如果检查没有相关配置就自己按照这样修改
cat /etc/docker/daemon.json
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
我们可以拉取镜像进行测试,修改以后可以使用--runtime参数指定runc,如果修改了runtime默认为nvidia的runtime工具,就无需单独指定
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
如果能够打印出英伟达显卡相关信息说明已经OK了。
2.离线安装deb包
离线安装的话我们可以去这个地址下载相关的软件包:https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable
我们下载这几个包文件
上述文件中libnvidia-container1-dbg_1.17.5-1_amd64.deb和libnvidia-container-dev_1.17.5-1_amd64.deb是可选,可以不安装,注意上述文件是有安装顺序的,安装的命令就是dpkg -i *.deb,顺序和说明如下:
libnvidia-container1_1.14.1-1_amd64.deb # 基础库包,提供了最基本的功能,其他包都依赖于它
libnvidia-container-tools_1.14.1-1_amd64.deb # 基础工具包,依赖于 libnvidia-container1
nvidia-container-toolkit-base_1.14.1-1_amd64.deb # 基础组件包,依赖于前面的包
nvidia-container-toolkit_1.14.1-1_amd64.deb # 主要的工具包,依赖于以上所有包
安装好以后验证命令和在线的方式一致,可以提前拉取测试的nvidia/cuda镜像保存下来到离线环境进行测试,安装完成以后也是根据1一样检查验证即可。
3.containerd环境在线安装
containerd环境可以使用2中的deb的包进行离线安装,再进行containerd配置文件config.toml的配置
也可以直接在线安装,先添加源
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$(. /etc/os-release;echo $ID$VERSION_ID)/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
然后就可以直接进行安装,一般不需指定版本用最新的就行
apt install nvidia-container-runtime -y
安装完成以后手工修改containerd配置文件,首先我们需要生成配置文件
mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
具体配置可以查看这个笔记:https://sulao.cn/post/944
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1020
评论列表