1. 系统已经安装好GPU驱动,CUDA,这里使用腾讯云自动安装驱动来安装GPU驱动和CUDA
2. 已安装NVIDIA Docker 工具,对于 NVIDIA Docker 工具这里介绍两种:nvidia-container-toolkit 和 nvidia-docker2 。
nvidia-docker2 是一个较早的解决方案,它包括 nvidia-docker 插件和 nvidia-container-runtime,nvidia-docker2 通过修改 Docker 的默认运行时为 nvidia-container-runtime,自动地将 NVIDIA 驱动和库文件注入到容器中,这样容器就可以访问宿主机上的 GPU。
nvidia-container-toolkit 是一个更新的解决方案,是 nvidia-docker2 的替代品,提供了更为现代和灵活的方式来在 Docker 容器中使用 NVIDIA GPU。
nvidia-container-toolkit 包括 nvidia-container-runtime 和 nvidia-container-toolkit(替代了 nvidia-docker)。使用 nvidia-container-toolkit 时,不需要使用特殊的命令来启动容器。相反,可以直接使用标准的 docker 命令,并通过 --gpus 标志来指定 GPU 访问,例如 docker run --gpus all ...。这是因为 nvidia-container-toolkit 将 GPU 支持集成到 Docker 的原生功能中。
1. 先安装docker并启动docker
apt install -y docker.io
systemctl start docker
2. 执行sudo -i 切换到root,然后粘贴下面命令配置源
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
3. 配置实验性软件包,这一步跳过也可以
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
4. 更新源
apt-get update
4. 安装
apt-get install -y nvidia-container-toolkit
5. 重启docker
systemctl restart docker
6. 验证
docker run --rm -it --gpus all ubuntu nvidia-smi
常见问题:
docker拉镜像很慢,这种是因为docker HUB仓库在国外,由于国内外存在一些跨境网络影响,这种是正常现象。
至此,完成。
可以将docker的加速地址更换为国内的,用腾讯云或者清华的都行 ,这里用腾讯云的地址:
vim /etc/docker/daemon.json 打开文件加入对应地址,然后重启docker
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
#或清华
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
下面是nvidia-docker的安装,由于nvidia-docker较老,就简单整理下命令:
#添加 NVIDIA 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
apt-get update
#安装nvidia-docker2
apt-get install -y nvidia-docker2
systemctl restart docker
这里如果机器没有访问公网的能力,可以先按照下面的方案解决,两种方案:
方案一:
找个能上网的gpu机器,配置好nvidia-container-toolkit源后, 通过 yum install --downloadonly nvidia-container-toolkit --downloaddir=/tmp/test,将安装包下载到一个临时目录/tmp/test下,然后把安装包拷贝到了没有公网的gpu机器上,然后执行 rpm -ivh *.rpm即可。
方案二:
执行下面命令,通过下载各个软件包进行安装。腾讯云的服务器支持通过内网访问mirrors.tencent.com地址。
mkdir test && cd test
wget https://mirrors.tencent.com/nvidia-cuda/rhel8/x86_64/libnvidia-container1-1.17.4-1.x86_64.rpm
wget https://mirrors.tencent.com/nvidia-cuda/rhel8/x86_64/libnvidia-container-tools-1.17.4-1.x86_64.rpm
wget https://mirrors.tencent.com/nvidia-cuda/rhel8/x86_64/nvidia-container-toolkit-1.17.4-1.x86_64.rpm
wget https://mirrors.tencent.com/nvidia-cuda/rhel8/x86_64/nvidia-container-toolkit-base-1.17.4-1.x86_64.rpm
rpm -ivh *.rpm
文档功底浅薄,大家在参考中发现问题时,请在评论区标注出来。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。