Nvidia-container-toolkit 安装
在安装了docker后,如果你的容器需要使用GPU运行一些软件,那么就需要安装nvidia的一些支持库。其中,一些博客中提到你需要安装nvidia-docker(包括nvidia-container-toolkit等一系列),这时你可以查看你需要运行的镜像的需求,一些镜像仅仅需要nvidia-container-toolkit就可以在容器中使用gpu,而不需要安装全部的nvidia-docker系列支持。此外,如果你的docker版本较高(大于17),你可以仅仅安装nvidia-container-toolkit就可以用gpu了。下面将介绍nvidia-container-toolkit具体的安装与采坑过程。
官网安装
首先,建议通过官网推荐的安装方式安装。官网链接:nvidia-container-toolkit
本文仅仅讨论用apt方式安装的情况,在官网中可以看到这样的步骤:
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 \
&& \
sudo apt-get update
这个安装过程用&&分段,分为三部分,你需要保证每一部分的网络正常。对于需要apt的部分,你可以通过一些方式修改apt的代理设置,如:
sudo gedit /etc/apt/apt.conf
然后把你自己的代理设置粘贴进去,(把8000改为你自己的端口号):
Acquire::http::proxy "http://127.0.0.1:8000/";
Acquire::ftp::proxy "ftp://127.0.0.1:8000/";
Acquire::https::proxy "https://127.0.0.1:8000/";
此外,也可以在命令行设置,如:
sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8000/" update
然后,curl的部分也要设置代理,如第一部分中:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
改为
curl -x http://127.0.0.1:8000 -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
这样不会报任何错,如果因为网络问题导致安装失败,可能会出现这些问题:
1. gpg错误,找不到有效的openpgp数据等
这里最好删除第一步下载的gpg文件,即 /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg,然后检查你的代理设置,再下一遍。
然后,再执行一下第二步,注意使用代理。
curl -x http://127.0.0.1:8000 -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 \
这一步中,有一些博客会让你修改/etc/apt/sources.list.d/nvidia-container-toolkit.list 和/etc/host里的内容,这里如果代理正常,不需要修改任何内容。如果你修改了,还原一下再通过代理运行一下第二步即可。
2.无法连接上 nvidia.github.io
这里你需要检查apt代理是否正常,一般都是代理的问题。
![](/qrcode.jpg)
总结
官网的安装流程没有任何问题,注意网络情况即可,最好使用代理。