【Docker】如何让docker容器正常使用nvidia显卡

首先确保宿主机正常安装了显卡驱动

nvidia-smi

打印显卡信息如下:
在这里插入图片描述

安装nvidia-container-toolkit工具

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

运行如下命令测试显卡是否在容器内可用

docker run --rm --gpus all nvidia/cuda:11.3.1-base-ubuntu18.04 nvidia-smi

正常情况下会打印显卡信息,说明已经可以使用了。
在这里插入图片描述

问题

1.提示Failed to initialize NVML: Unknown Error

可以尝试编辑配置文件:

sudo vim /etc/nvidia-container-runtime/config.toml

将[nvidia-container-cli]的no-cgroups = true改为false
保存,重启docker

sudo systemctl restart docker

此时再次使用临时容器测试是否可用。

### 如何在 Linux 虚拟机或容器中配置和使用宿主机的 GPU 或显卡资源 #### 使用 Docker 容器访问宿主机 GPU 对于基于 Docker 的环境,NVIDIA 提供了一个专门用于处理 GPU 访问问题的工具包 NVIDIA Container Toolkit。安装此工具包之后,可以轻松地让容器内的应用程序利用到宿主机上的 GPU。 要设置好这个环境,需先确保宿主机已经正确安装了 NVIDIA 驱动程序以及 CUDA 工具链[^1]。接着按照官方文档指导完成 NVIDIA Container Toolkit 的部署: ```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 && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ``` 一旦完成了上述步骤,则可以通过简单的命令来启动带有 GPU 支持的新容器: ```bash docker run --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 这条指令会拉取一个预装有 CUDA 库的基础镜像并执行 `nvidia-smi` 命令以验证 GPU 是否被成功识别。 #### 在 KVM/QEMU 中启用 GPU 直通技术 当涉及到完整的虚拟化解决方案时,KVM (Kernel-based Virtual Machine) 结合 QEMU 成为了许多用户的首选方案之一。通过 PCI Passthrough 技术可以直接把物理设备分配给特定 VM 来获得最佳性能表现。 要在 KVM 上实施 GPU passthrough, 主要有以下几个要点需要注意: - BIOS/UEFI 设置:进入主板固件界面开启 IOMMU 功能; - 内核参数调整:编辑 GRUB_DEFAULT 变量所在的文件 `/etc/default/grub`, 添加内核引导选项 `intel_iommu=on` 对于 Intel 平台或是 `amd_iommu=pt` 对应 AMD 架构; - 设备隔离:将目标 GPU 所属的所有 PCIe 子设备都指派给同一 VM 实例; 完成这些准备工作后就可以借助 virt-manager 图形界面或者 virsh CLI 创建新的客户操作系统实例,并指定想要传递的具体硬件组件。 #### 利用 VMware 进行 GPU 分配 除了开源项目外,商业产品如 VMware Workstation Pro 同样允许用户在其管理下的虚拟环境中共享实际存在的图形处理器能力。不过值得注意的是,尽管 VMware 支持多种类型的 GPU 加速方式,但对于某些高级特性可能仅限于专业版才提供支持[^2]。 具体操作流程涉及到了解当前使用的 hypervisor 类型(Workstation vs vSphere),然后依据所选平台遵循相应的指南来进行必要的配置更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值