PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

2020-11-10 21:19:46 32点赞 258收藏 37评论

更新(2020-11-19 21:22:26):
注意docker安装emby部分不知道为啥复制粘贴上去以后就变了。可以按照这个来: docker run -d --name emby --restart=always --volume /usr/docker/emby:/config --volume /mnt/nfs/movies:/movies --net=host --device /dev/dri:/dev/dri --publish 8096:8096 --publish 8920:8920 --env UID=0 --env GID=0 --env GIDLIST=0 emby/embyserver:latest

【写作说明】:

写下这篇文章是为了更好的记录自己折腾的过程。顺便分享给大家一些思路。

【目的】:

  • 1.在CT容器(LXC容器)内安装docker

  • 2.LXC容器内实现NFS挂载NAS目录

  • 3.LXC容器共享主机显卡驱动,实现硬件解码。


一、LXC容器的安装

PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速 注意以下几点:

  • 1.勾选特权容器

  • 2.创建完不要启动,选项-签名:勾选NFS,CIFS,嵌套(为了后续安装docker)!

二、PVE宿主机下的相关配置


PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

##以下在PVE shell内执行:

#查看驱动 ls -l /dev/dri/

root@pve:~# ls -l /dev/dri/

total 0

drwxr-xr-x 2 root root 80 11月 10 18:27 by-path

crw-rw---- 1 root video 226, 0 11月 10 18:27 card0

crw-rw---- 1 root render 226, 128 11月 10 18:27 renderD128

#从上面需要获取的参数为

video id: 226, 0

render id:226, 128

##关闭CT,记好对应的ID,比如101。

#修改CT文件

nano /etc/pve/lxc/101.conf

将以下内容添加到文件末尾;(将对应的ID替换成自己的)

lxc.cgroup.devices.allow: c 226:128 rwm

lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file

到这里,PVE下的设置就完成了。

三、CT容器下的相关配置

PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

##以下在LXC内执行:

#查看驱动 ls /dev/dri,可以看到共享的显卡驱动renderD128

root@test:~# ls /dev/dri

renderD128

#安装vainfo,验证VA-API( Video Acceleration API即视频加速API)

apt install vainfo

耐心等待安装完,中途可能需要输入Y。

#输入vainfo即可查看是否成功。

PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

root@test:~# vainfo

error: can't connect to X server!

libva info: VA-API version 1.7.0

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so

libva info: Found init function __vaDriverInit_1_7

libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed

libva info: va_openDriver() returns 1

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

libva info: Found init function __vaDriverInit_1_6

libva info: va_openDriver() returns 0

vainfo: VA-API version: 1.7 (libva 2.6.0)

vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.4.0

vainfo: Supported profile and entrypoints

VAProfileMPEG2Simple : VAEntrypointVLD

VAProfileMPEG2Simple : VAEntrypointEncSlice

VAProfileMPEG2Main : VAEntrypointVLD

VAProfileMPEG2Main : VAEntrypointEncSlice

VAProfileH264ConstrainedBaseline: VAEntrypointVLD

VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice

VAProfileH264Main : VAEntrypointVLD

VAProfileH264Main : VAEntrypointEncSlice

VAProfileH264High : VAEntrypointVLD

VAProfileH264High : VAEntrypointEncSlice

VAProfileH264MultiviewHigh : VAEntrypointVLD

VAProfileH264MultiviewHigh : VAEntrypointEncSlice

VAProfileH264StereoHigh : VAEntrypointVLD

VAProfileH264StereoHigh : VAEntrypointEncSlice

VAProfileVC1Simple : VAEntrypointVLD

VAProfileVC1Main : VAEntrypointVLD

VAProfileVC1Advanced : VAEntrypointVLD

VAProfileNone : VAEntrypointVideoProc

VAProfileJPEGBaseline : VAEntrypointVLD

VAProfileJPEGBaseline : VAEntrypointEncPicture

VAProfileVP8Version0_3 : VAEntrypointVLD

VAProfileVP8Version0_3 : VAEntrypointEncSlice

VAProfileHEVCMain : VAEntrypointVLD

四、挂载NFS目录

##以下在LXC内执行:

#安装NFS客户端,方便挂载群晖NFS

apt-get install nfs-common

#查看可挂载的NFS目录

showmount -e 192.168.2.5

#挂载NFS 192.168.2.5:/volume2/Disk02/movies是NAS目录;/mnt/nfs/movies是CT容器的目录

mount -t nfs 192.168.2.5:/volume2/Disk02/movies /mnt/nfs/movies

五、docker emby,并开启硬件加速

##以下在LXC内执行:

#安装emby

docker run -d

--name=emby

--volume /usr/docker/emby:/config

--volume /mnt/nfs/movies:/movies

--restart=always

--device /dev/dri:/dev/dri

--publish 8096:8096

--publish 8920:8920

--env UID=0

--env GID=0

--env GIDLIST=0

emby/embyserver:latest

注意对应目录。

然后是那啥,不方便说,参考https://neko.re/archives/128.html

参考Docker替换安装部分即可,有能力的值友请支持正版。

【结语】

以上就是所有步骤了,会对这个感兴趣的一般已经有一些基础。所以很多地方没有面面俱到。

这次折腾的坑点在于:PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速

  • 1.不开启特权模式的CT无法NFS挂载。想要最简单的配置NFS挂载,推荐使用特权模式。

  • 2.LXC共享宿主机显卡驱动的方法是在国外论坛找到的。之前看了koolshare的那个方法,测试了一下似乎不适合我的机器,无法开机。

附上提到的两篇文章:(第二条链接论坛esseki的回帖就是我找到的方法)

最后希望大家玩机开心。PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速 有帮助到大家的话,希望可以顶一顶贴,能打赏一些碎银更好啦,哈哈哈。PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速


展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起
37评论

  • 精彩
  • 最新
  • pve可以直接装Linux版的emby。也能直接调用核显转码。docker都省了。

    校验提示文案

    提交
    这样对系统修改比较多。我是为了隔离宿主机和虚拟机。 [得逞] docker 还可以安装其他容器,一举两得。

    校验提示文案

    提交
    我也是这样搞的,省事。看了下也没别的依赖,不会导致环境被污染。

    校验提示文案

    提交
    收起所有回复
  • 这么麻烦的吗,我直接pve安装docker,挂载nfs直接在pve的页面就可以挂载了

    校验提示文案

    提交
    [抽烟] 为了隔离。宿主机弄不好就翻车了。

    校验提示文案

    提交
    请教下,容器共用宿主机内核,那宿主机翻车了容器不跟着翻吗?我的PVE下有个容器的OpenWRT旁路和容器的mediaserver(jellyfin),还有个直通网口的黑裙虚拟机,有时PVE不明原因的失联了,OpenWRT和mediaserver也跟着就失联了,但黑裙就还能正常访问使用。。。现在准备升级改造AIO,确实在纠结docker是装到宿主机上还是容器里,装虚拟机里搞套娃是万万不想采用的。。。

    校验提示文案

    提交
    收起所有回复
  • 嘿嘿,最近可以搞个pve安装甜糖的教程 [龇牙]

    校验提示文案

    提交
    我有两个微加云在跑。懒得弄。其实和其他虚拟平台是一样的。 [阴笑]

    校验提示文案

    提交
    收起所有回复
  • 这种可以吧台式机的显卡直通给它吗?然后硬解是不是很牛

    校验提示文案

    提交
    不知道你说的是哪个方面。直通独显?这些esxi pve unraid应该都可以满足你的需求。

    校验提示文案

    提交
    直通给emby,然后会不会解码很快

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • pve能不要进后台输命令,就尽量不要。
    另外pve中,让lxc虚拟机支持docker在界面上就有配置,没必要这么麻烦。

    校验提示文案

    提交
    额,你没仔细看吧。我这样是为了在CT容器里面调用显卡。docker方面我只多配置了一个嵌套方便CT使用docker。

    校验提示文案

    提交
    收起所有回复
  • 我也是这么玩的,koolshare的沙发就是我回的,不过现在我已经转白威了

    校验提示文案

    提交
    [装大款] 哈哈PVE我没装黑群,是单独装的黑群。为了稳定。

    校验提示文案

    提交
    嗯,确实我现在也放弃all in one的方案了,路由我就直接用的n1刷op做独臂,其他的就给nas了,以前都是全部pve下跑的

    校验提示文案

    提交
    收起所有回复
  • 我按照你的说明成功在特权容器下把显卡直通到LXC了,但在特权容器下启动emby docker报错,我把特权容器关掉之后能成功启动emby,但是直通似乎因为文件权限的问题没法用了。另外nfs的话可以直接在PVE进行挂在,然后通过nfs lxc.mount.entry进行挂载

    校验提示文案

    提交
    [抽烟] 你那样挂载的也可以,但是重启PVE时挂载的NFS会有一个过程,另外比较影响CT备份。

    校验提示文案

    提交
    [大囧] 挂载是个小问题。。。大佬你是怎样在特权容器下把docker跑起来的?我看emby论坛那没提到需要特权容器。。。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 为什么还要在容器里跑docker?直接装一个Ubuntu容器,然后直接装Linux版的emby不就好了?

    校验提示文案

    提交
  • docker本来就很隔离了,我选择PVE直接安装docker

    校验提示文案

    提交
    作者这骚操作,不理解

    校验提示文案

    提交
    docker本身就是lxc分支出来的一类容器,套在一起,感觉像是捧着汤碗里面放个饭碗吃饭……

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 没会员,也能开硬解?

    校验提示文案

    提交
  • lxc显卡直通,同样是用了楼主的方法才行,koolshare的没法启动。但楼主分享的ubuntu模板我没法用

    校验提示文案

    提交
  • ct容器磁盘空间不够了,可以扩容吗

    校验提示文案

    提交
  • 问个小白问题,用了楼主的模版,但是lxc设置好启动后,要求登陆,用户名和密码是什么???

    校验提示文案

    提交
  • 大佬,挂载NFS的命令重启后需要重新输入吗?

    校验提示文案

    提交
  • 已经完美使用了,可惜iPad用不了开心版,考虑换回jellyfin 吧。

    校验提示文案

    提交
  • 请问大佬所有步骤都按教程操作的,环境pve7.23 debian11 lxc创建时勾选非特权的话,mount命令挂载不上nfs盘, 不勾选非特权的话能挂载Nfs,但是emby高级里面就没硬解选项了。 (勾选=mount挂载不上nfs,提示不允许操作。 不勾选=emby高级无硬解选项)

    校验提示文案

    提交
  • 查看驱动 ls -l /dev/dri/,就显示ls: cannot access '/dev/dri': No such file or directory。请问怎么解决这个问题

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
258
扫一下,分享更方便,购买更轻松