doker 使用英伟达GPU报错处理

本文讲述了在Docker中部署使用NVIDIAGPU的应用时遇到的错误,原因在于nvidia-container-toolkit未安装。文章详细介绍了在Ubuntu环境下通过更新apt仓库、安装工具包并验证其安装成功的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近在docker容器中部署使用英伟达GPU的应用出现以下报错:

Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]

原因为:

nvidia-container-toolkit 未安装

ubuntu环境下的解决方法如下:

1、更新apt 仓库

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2、更新仓库

 sudo apt-get update

3、安装

sudo apt-get install -y nvidia-container-toolkit

4、验证

which nvidia-container-runtime

输出 /usr/bin/nvidia-container-runtime,表示安装成功。

报错消失

其他环境参考

### 如何在 Docker 中安装或配置 NVIDIA 驱动或 CUDA 工具 要在 Docker 中安装或配置 NVIDIA 驱动以及 CUDA 工具,可以按照以下方法操作: #### 1. 宿主机环境准备 确保宿主机已经正确安装了 NVIDIA 显卡驱动程序。可以通过以下命令检查当前系统的显卡驱动版本: ```bash lspci -k | grep -A 2 -i "VGA" ``` 此命令会显示显卡及其对应的驱动信息[^2]。 #### 2. 添加 NVIDIA Docker 软件源 为了能够顺利安装 `NVIDIA Container Toolkit` 和其他相关组件,需要先添加 NVIDIA 提供的软件仓库。具体步骤如下: ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update ``` 需要注意的是,在某些情况下可能需要手动调整 `/etc/apt/sources.list.d/nvidia-docker.list` 文件中的内容以匹配实际的操作系统版本[^3]。 #### 3. 安装 NVIDIA Container Toolkit 完成软件源设置之后,继续安装必要的工具包: ```bash sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ``` 这一步骤将会重新启动 Docker 服务,并加载 NVIDIAGPU 支持功能[^4]。 #### 4. 测试 NVIDIA GPU 是否可用 创建一个新的容器来验证 GPU 功能是否正常工作。例如运行下面这条命令查看是否有正确的 GPU 输出: ```bash docker run --rm --gpus all nvidia/cuda:11.8.0-base-centos7 nvidia-smi ``` 如果一切配置无误,则应该可以看到完整的 GPU 设备列表及相关状态信息[^1]。 #### 5. 使用特定数量的 GPUs 或指定设备编号 除了分配所有的 GPU 给容器外,还可以通过参数控制具体的资源分配情况。比如仅提供第一个 GPU 给某个应用进程使用: ```bash docker run --rm --gpus '"device=0"' nvidia/cuda:11.8.0-base-centos7 nvidia-smi ``` 以上就是关于如何在 Docker 环境下集成 NVIDIA 驱动与 CUDA 开发套件的主要流程介绍。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值