新手教程
🩴新手教程:给Docker添加Nvidia显卡硬解
00 分钟
2023-7-6
2024-4-23
type
status
date
slug
summary
tags
category
icon
password
目前,许多人选择在 NAS 上添加一块显卡以便于使用 Emby、Jellyfin 或者 Plex 等软件进行音视频解码。相比于核显,一块用于服务器领域的显卡,比如说比较流行的 Tesla P4,在音视频解码上自然要比核显高上一个等级,是比较大众的一种选择。
Tesla P4 价格便宜(二手约400元左右),而且最高能解码 8K 分辨率的 HEVC(H26.5)10bit 影音文件。但请新手朋友们注意,这一类用于服务器领域的显卡并不是为家用设计的,这一类显卡的特征是没有视频输出接口,比如说 HDMI 。
但鉴于有不少新手朋友还不了解如何在 unRAID 上给 Docker 添加参数来调用 Nvidia 的显卡实现 GPU 解码,所以本文将给大家介绍实现方法和一些常见的问题。

1、安装 Nvidia Driver 插件

notion image
请在 unRAID 的 APPS 应用商店安装此插件,其作用是检测你当前设备上的 Nvidia 显卡并自动下载相应的驱动。
注意: 请确保你的 unRAID 可以走科学上网,不然可能影响驱动的下载。
当插件顺利完成安装后,请重启你的 Docker 服务:
进入 Docker 服务的设置界面
进入 Docker 服务的设置界面
关闭
关闭
然后再开启
然后再开启

2、设置插件并获取相关参数

当你安装好插件后,进入到插件的设置界面( 插件 - Nvidia Driver ),安装好并能识别到显卡的效果如下:
notion image
  1. Available Versions 的右侧点选版本号最高的那一个。
  1. 点击下方的 UPDATE & DOWNLOAD
  1. 将左侧 GPU-0bxxxxxxx 编号记录下来。
注意: 请不要选择图片中标注的 latest: vxxxx 。如果你点选并应用了,那么当你重启 unRAID 时会重新去检测并下载 Nvidia 显卡驱动,如果此时你的 unRAID 无法走科学上网,那么会导致 unRAID 启动过程变得很长或者压根启动不了,因为此时 unRAID 还在等插件下载驱动。

3、给 Docker 添加变量和参数

打开 Docker 的配置界面,按照以下说明添加相应的变量和参数。

3.1、添加额外参数 --runtime=nvidia

notion image
notion image

3.2、添加 NVIDIA_VISIBLE_DEVICESNVIDIA_DRIVER_CAPABILITIES 变量

(1)添加 NVIDIA_VISIBLE_DEVICES 变量
值设置为先前获取到的 GPU-0bxxxxxxx 编号,如下图所示:
notion image
(2)添加 NVIDIA_DRIVER_CAPABILITIES 变量
添加变量:
值设置为:
notion image
最终如下:
notion image
点击应用重新创建 Docker 即可完成配置。

4、常见问题

Q:安装插件后插件设置界面没有识别出显卡信息

请尝试删除插件后重新安装插件,或者重启 unRAID 服务器。

Q:插件安装驱动时报错 unraid Can't get latest Nvidia driver version and found no installed local driver

此报错表示无法下载 Nvidia 的驱动,请:
  • 检查网络:最好能给 unRAID 走科学保证驱动能正常下载。
  • 使用浏览器隐身模式:尝试使用浏览器的隐身模式进行下载。
  • 更换浏览器:如果不行那请尝试更换浏览器并重新下载插件。
  • 更换科学上网的节点:如果你已经给 unRAID 设置了代理,那么请更换代理的节点然后再下载。

Q:安装 Docker 容器时报错 Unknow runtime specified nvidia

notion image
请使用以下命令查看 daemon.json 文件:
检查此文件内容是否包含如下图所示的 runtimes 信息:
notion image
如果没有,请使用以下命令添加:
注意: 此命令会覆盖原先 daemon.json 文件内的内容,所以请你先备份好原先的文件,或者你也可以手动将下面的大括号 { } 内的内容手动添加到 daemon.json 文件中。
 

评论