Ubuntu环境下Docker部署CUDA遇故障求助
问题分析与解决方案
问题根源
你遇到的libnvidia-ml.so.1: cannot open shared object file错误,核心原因是主机系统未安装NVIDIA显卡驱动。这个库是NVIDIA驱动的核心组件,nvidia-container-toolkit需要从主机挂载该库到容器中,没有驱动的话容器无法获取到这个文件,导致初始化失败。
解决方案
步骤1:安装NVIDIA显卡驱动
Ubuntu 22.04推荐通过官方闭源驱动仓库安装,步骤如下:
- 更新系统软件包:
sudo apt update && sudo apt upgrade -y - 安装驱动依赖工具:
sudo apt install -y ubuntu-drivers-common - 自动检测并适配GTX1070的驱动:
sudo ubuntu-drivers autoinstall - 重启系统使驱动生效:
sudo reboot
步骤2:验证驱动安装成功
重启后运行以下命令,若能正常显示显卡型号、驱动版本、CUDA支持版本等信息,则驱动安装成功:
nvidia-smi
步骤3:重新测试Docker GPU容器
驱动安装完成后,再次运行测试命令:
sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
此时容器应该能正常输出nvidia-smi的信息,说明Docker已成功调用GPU。
额外说明
- GTX1070支持最高CUDA 11.8版本,你使用的CUDA 11.6镜像是完全兼容的,无需更换。
- 无需重复安装Docker(你之前的Docker环境已经正常运行),确保驱动安装后Docker daemon处于运行状态即可。
内容的提问来源于stack exchange,提问作者hopstepforward
相关产品推荐
相关产品推荐

