Jenkins中Docker代理GPU任务报错nvidia-smi未找到,如何配置GPU参数?
在Jenkins流水线中配置GPU代理容器的方法
直接在Docker Agent中添加GPU参数
使用Jenkins Docker Pipeline插件时,可通过args字段将--gpus all参数传递给代理容器的启动命令,示例流水线代码如下:
pipeline { agent { docker { image 'nvidia/cuda:11.6.2-base-ubuntu20.04' args '--gpus all' } } stages { stage('验证GPU访问') { steps { sh 'nvidia-smi' } } } }
该配置会让Jenkins在启动代理容器时自动附加GPU权限参数,确保容器能访问宿主机GPU资源。
确认代理节点的GPU运行环境
- 进入Jenkins主容器,执行
docker run --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi,验证容器内部是否能正常调用GPU命令。如果此命令失败,说明Jenkins主容器的GPU权限配置存在问题,需重新检查--gpus all参数是否正确添加。 - 确保Jenkins代理节点(包括Dind模式下的容器)已正确配置NVIDIA Docker运行时,且执行docker命令的用户拥有足够权限。
镜像选择补充
若使用nvidia/cuda:11.6.2-base-ubuntu20.04仍提示nvidia-smi未找到,可切换至包含完整CUDA运行时的镜像,比如nvidia/cuda:11.6.2-runtime-ubuntu20.04,这类镜像预装了完整的GPU工具链。
内容的提问来源于stack exchange,提问作者Saurav Saha
相关产品推荐
相关产品推荐

