问题
服务器reboot之后,重启docker 服务时遇到以下bug
原因
分析报错信息可知,是由于 Nvidia 驱动出现了问题。
使用 nvidia-smi,出现以下报错信息
无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
查看发现驱动还在,应该是重启导致驱动的一些映射关系断了。
解决方案
安装 dkms 包,来重建这些映射关系。
DKMS全称是DynamicKernel ModuleSupport,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。
centos系统安装dkms:
(1)安装dkms时提示“没有可用软件包”,安装EPEL(Extra Packages for Enterprise Linux)
命令:
yum install -y epel-release
(2)安装kernel-headers, kernel-devel,dkms
命令:
yum install -y kernel-headers kernel-devel dkms
ubuntu系统安装dkms:
sudo apt-get install dkms
安装完成后,nvidia-smi 即可正常使用,同时用了nvidia 驱动的 docker 容器,也可以正常启动了。