内容目录
效果图
需求原因
最近在玩pve+fnos
发现飞牛影视还是没emby好用
emby应用中心直接安装不像docker那样可以环境变量设置代理方便刮削
但是docker部署又想直接调用n卡,所以需要安装 NVIDIA Container Toolki
最后实现后 因为fnos是debian 12魔改 所以ubuntu22.04 24.04 Debian12测试基本也通用
安装 NVIDIA Container Toolkit
✅ 一、添加 NVIDIA Container Toolkit 软件源并安装
基于 Debian 12 的系统,请按照以下步骤配置:
1. 添加 NVIDIA GPG 密钥
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
2. 添加官方源
cat <<EOF > /etc/apt/sources.list.d/nvidia-container-toolkit.list
deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /
EOF
3. 更新并安装工具包
sudo apt update
sudo apt install -y nvidia-container-toolkit
✅ 二、配置 Docker 使用 NVIDIA Runtime
安装完后执行:
sudo nvidia-ctk runtime configure --runtime=docker
然后重启 Docker:
sudo systemctl restart docker
✅ 三、验证 GPU 支持
现在再运行这个测试命令:
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
若能看到显卡信息(如 Quadro K2200),说明成功!
root@fn:~# docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
Fri May 16 05:50:57 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.216.01 Driver Version: 535.216.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Quadro K2200 On | 00000000:00:10.0 Off | N/A |
| 42% 42C P8 1W / 39W | 1MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
🔍 附加检查
如果还是失败,确认以下几点:
- 驱动已安装且
nvidia-smi
正常; /dev/nvidia0
和/dev/nvidia-uvm
等设备存在;- Docker 版本支持 GPU(推荐 ≥20.10);
- 运行
nvidia-ctk
无报错。
fnos docker 启动emby
新建docker-compose项目如图操作
yaml配置如下
services:
embyserver:
image: amilys/embyserver
container_name: amilys_embyserver
runtime: nvidia
network_mode: bridge
privileged: true
environment:
- UID=0
- GID=0
- GIDLIST=0
- TZ=Asia/Shanghai
- http_proxy=http://192.168.0.251:10809
- https_proxy=http://192.168.0.251:10809
- no_proxy=localhost,127.0.0.1,::1,host.docker.internal,192.168.0.251,192.168.0.32 #不代理的ip
- NVIDIA_VISIBLE_DEVICES=all # 显示所有GPU(或指定具体GPU编号)
- NVIDIA_DRIVER_CAPABILITIES=all # 或 compute,video,utility 视需求而定
volumes:
- /vol1/1000/emby/config:/config
- /var/apps/docker-xunlei/shares/xunlei/downloads:/data
ports:
- 8096:8096
restart: unless-stopped
设置代理的作用是让emby刮削能力增强,根据自己的代理和端口自行设置,no_proxy设置不代理的地址
/vol1/1000/emby/config 自己文件管理 自己新建
/var/apps/docker-xunlei/shares/xunlei/downloads 是应用中心迅雷的下载路径 有其他目录自己映射
然后启动就可以享受docker 部署emby还能调用n卡解码了