非sudo用户在Docker内运行nvidia-smi报错的解决求助
解决非sudo执行nvidia-docker命令报错的问题
问题根源
普通用户缺少访问NVIDIA驱动库文件的权限,或未正确加入docker用户组,导致nvidia-container-cli无法加载libnvidia-ml.so.1。
解决步骤
将当前用户加入docker用户组
执行以下命令添加用户到docker组:sudo usermod -aG docker $USER添加完成后,必须注销当前用户并重新登录(或临时执行
newgrp docker使组权限立即生效)。修复NVIDIA库文件的访问权限
- 先定位
libnvidia-ml.so.1的位置:sudo find / -name libnvidia-ml.so.1 - 给该文件添加其他用户的读权限(替换为实际找到的路径):
sudo chmod o+r /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
- 先定位
验证修复效果
重新登录后执行原命令测试:docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
补充说明
如果上述步骤无效,可检查/etc/nvidia-container-runtime/config.toml配置文件,确保没有限制普通用户使用的相关设置;也可以尝试重新启动docker服务:
sudo systemctl restart docker
内容的提问来源于stack exchange,提问作者Golchoubian
相关产品推荐
相关产品推荐

