N1盒子Docker挂载群晖NFS共享目录
始于emby
一开始的emby跑在猫盘群晖上,但猫盘本来就跑了qb来挂pt,再跑emby还是挺吃力的,故转移到n1上,数据储存还是用猫盘,于是通过网络映射猫盘NFS共享目录,让猫盘只承担文件传输的负载。
群晖开启nfs
群晖控制面板->文件服务,把NFS和启用NFSv4.1支持都勾上,应用
控制面板->共享文件夹,选你要映射的文件夹,编辑->NFS权限,新增,如下图填写
其中 服务器名称或IP地址 填你要赋予映射权限的 设备ip/网段 ,或者直接用通配符 * 表示忽略来源限制,所有能连上来的设备都可以映射,反正局域网无所畏惧(误)。注意 Squash 一定要选映射所有用户为admin 不然没权限。
创建Docker Volume
使用docker创建驱动类型为nfs4的磁盘volume-nfs,并指定该nfs的ip,共享目录的权限,以及共享目录
1 |
|
查看创建好的volume
1 |
|
查看该volume的信息
1 |
|
于是在建立容器的时候就可以用 -v来使用这个nfs卷了,以我的emby服务为例,我想把这个卷挂到/neko文件夹下,建立embyserver代码就应该是
1 |
|
进入容器里面看看
1 |
|
可以看见neko文件夹已经出来了,可以作为emby的媒体库使用了。
问题
一开始用的是N1-openwrt自带的cifs/smb映射工具把群晖的目录映射在N1的文件系统里,再用docker映射这个目录,但是没有成功,容器一直无法启动。还有一种方法是在容器内部直接用mount指令挂载,只要赋予了–privileged=true参数,是可以成功挂载上的,但是如何在docker启动时自动运行挂载命令挺麻烦,搁置
后来看到了这位大佬的文章
Docker共享存储—共享数据
于是模仿得出了目前的解决方案,本文核心内容均来自于此。
关于Docker的问题,也可以看看这个帖子
n1.Docker容器个人安装运行所遇异常解决集合
このまま!