Docker启动容器报nvidia_driver_375.66不存在错误,求解决方案
解决nvidia-docker启动容器时找不到nvidia_driver_375.66卷的问题
你的核心问题很明确:旧容器还绑定着你已经删除的旧驱动卷,哪怕重装了驱动和nvidia-docker,容器的配置没更新,启动时还是会死磕那个不存在的卷。下面是一步步的解决方法:
1. 先处理绑定了旧卷的问题容器
首先得把那个启动失败的容器处理掉——它的配置里还写着要挂载已删除的nvidia_driver_375.66卷,留着只会一直报错:
# 先列出所有容器,找到有问题的容器ID或名称 docker ps -a # 如果容器还在运行状态,先停止它 docker stop <container_id/name> # 删除这个容器(如果有重要数据,先docker cp把文件拷出来再删!) docker rm <container_id/name>
2. 清理nvidia-docker的残留驱动卷和缓存
接下来彻底清理nvidia-docker的旧驱动相关残留,避免新旧配置冲突:
# 先停掉相关服务 sudo systemctl stop nvidia-docker sudo systemctl stop docker # 删除所有带nvidia_driver前缀的卷(如果还有残留的话) docker volume rm $(docker volume ls -q | grep nvidia_driver) # 删除nvidia-docker的缓存目录 sudo rm -rf /var/lib/nvidia-docker
3. 重启服务,生成匹配当前驱动的新卷
现在重启服务,让nvidia-docker根据你当前安装的375.26驱动自动生成对应的卷:
sudo systemctl start docker sudo systemctl start nvidia-docker # 验证是否生成了正确的卷,应该能看到nvidia_driver_375.26 docker volume ls | grep nvidia_driver
4. 重新创建TensorFlow GPU容器
现在用正确的方式重新启动容器,确保nvidia-docker自动挂载匹配的驱动卷:
# 如果你用的是旧版nvidia-docker nvidia-docker run -it tensorflow/tensorflow:latest-gpu bash # 如果是Docker 19.03+版本,用--gpus参数更规范 docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash
启动后可以在容器里验证GPU是否正常调用:
python -c "import tensorflow as tf; print(tf.test.is_gpu_available())"
额外排查点(如果还是有问题)
- 先确认主机驱动版本:
nvidia-smi,确保输出的是375.26,驱动没装错 - 验证nvidia-docker基础功能:
nvidia-docker run --rm nvidia/cuda:9.0-base nvidia-smi,能正常输出GPU信息说明nvidia-docker本身没问题 - 注意CUDA版本兼容性:375.26驱动对应的CUDA版本是9.0左右,选TensorFlow镜像时要选匹配CUDA 9.0的版本,避免版本不兼容导致GPU调用失败
内容的提问来源于stack exchange,提问作者semon
相关产品推荐
相关产品推荐

