自留地

分享自己的技能

0%

树莓派的100种玩法(5)OMV-常见docker镜像部署

从这篇开始准备按我上次的规划开始部署几个常见的Docker镜像,先放张文件夹结构图

准备工作

设置镜像加速源,这里选择的是阿里云的加速地址,说下具体步骤

先访问阿里云镜像加速地址:点这里 登陆可以用支付宝或者淘宝都可以,或者新注册个账户

根据上一步获取的地址,填入portainer

设置好镜像加速原之后,可以进入正文了

遇到一个问题

后面JD的挂载路径有些问题我以为在共享文件设置好就可以访问了,实际上通过docker设置路径还需要通过命令行挂载下,通过putty登录树莓派后台

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
pi@raspbian:~$ df -l     #查看挂载路径可知,固态硬盘挂载在/srv路径下
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 30190644 5415960 23494848 19% /
devtmpfs 1935044 0 1935044 0% /dev
tmpfs 1968388 0 1968388 0% /dev/shm
tmpfs 1968388 8876 1959512 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1968388 0 1968388 0% /sys/fs/cgroup
tmpfs 1968388 0 1968388 0% /tmp
/dev/mmcblk0p1 257772 72700 185072 29% /boot
/dev/sda1 239314720 61488 239236848 1% /srv/dev-disk-by-uuid-49b0686d-4d7e-4417-9e26-00be97e7197e
folder2ram 1968388 33272 1935116 2% /var/log
folder2ram 1968388 0 1968388 0% /var/tmp
folder2ram 1968388 268 1968120 1% /var/lib/openmediavault/rrd
folder2ram 1968388 752 1967636 1% /var/spool
folder2ram 1968388 11484 1956904 1% /var/lib/rrdcached
folder2ram 1968388 4 1968384 1% /var/lib/monit
folder2ram 1968388 1288 1967100 1% /var/cache/samba
tmpfs 393676 0 393676 0% /run/user/1000
pi@raspbian:~$ cd /srv
pi@raspbian:/srv$ ls
dev-disk-by-uuid-49b0686d-4d7e-4417-9e26-00be97e7197e ftp pillar salt
pi@raspbian:/srv$ su #后续命令需要root账户进行
Password:
root@raspbian:/srv# mkdir /srv/data #由于硬盘名太长,此处创建data目录挂载硬盘
root@raspbian:/srv# mount /dev/sda1 /srv/data #将移动硬盘挂载到data目录下
root@raspbian:/srv# ls
data dev-disk-by-uuid-49b0686d-4d7e-4417-9e26-00be97e7197e ftp pillar salt
root@raspbian:/srv# cd /srv/data
root@raspbian:/srv/data# ls
aquota.group aquota.user lost+found omv
root@raspbian:/srv/data/omv# exit
exit

JD

这个我就不细说了,懂得自然懂,看一下作者提供的部署命令

3/10.这里多说一句,因为作者GitHub被封,这里需要更新下新的镜像,命令的最后一行需要改成 shuye72/jd-base:gitee,这里我就不改下面的命令和截图了,需要自己改下

1
2
3
4
5
6
7
8
docker run -dit \
-v /appdata/jd/config:/jd/config `# 冒号左边是刚刚下载的两个文件存放的目录` \
-v /appdata/jd/log:/jd/log `# 日志保存目录` \
-p 5678:5678 `# 如果想要智能对比config.sh和config.sh.sample的差异,请保留此行` \
--name jd \
--hostname jd \
--restart always \
evinedeng/jd

根据命令手动填入portainer,如图

上面的最后一部先不要点击,还要填下高级设置

上面第13步的两个路径分别变成

1
2
/srv/data/omv/appdata/jd/config  #实际就是在图中路径加上/srv/data
/srv/data/omv/appdata/jd/log #同样是在前面加了/srv/data

部署部分已经完成了,具体设置cookies可以看我的博客上的文章,链接

filebrowser

这里用的是荒野无灯修改版的,部署命令如下

1
2
3
4
5
6
7
docker run -it --restart always \
-d --name filebrowser \
--net=host \
-e SSL=on -e PUID=1000 -e PGID=100 -e WEB_PORT=8081 \
-v /var/lib/filebrowser:/config -v /media:/myfiles \
--mount type=tmpfs,destination=/tmp \ #这条命令是N1挂载外接硬盘的,具体含义我还没学到,我们这里用不到
80x86/filebrowser:latest

根据命令所示,仿照上面的设置方式,直接套命令就好,后面的图示说明会简略一点,因为基本上都能套用的

这里的PUID和PGID不要照超,有可能会出问题,通过命令 id user(当前用户名)查看具体数值

具体设置如图

完成后使用IP:8081访问,默认账号密码都是admin

Transmission

这里选择使用linuxserver版本,具体描述可以参考我UNRAID那篇 ,放个命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker run -d \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e TRANSMISSION_WEB_HOME=/combustion-release/ `#optional` \
-e USER=username `#optional` \
-e PASS=password `#optional` \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v <path to data>:/config \
-v <path to downloads>:/downloads \
-v <path to watch folder>:/watch \
--restart unless-stopped \
ghcr.io/linuxserver/transmission

这里放图

由于设置好了变量,就不需要汉化了,直接就好了,账号密码已经设置好,都是 admin

Aria2

这个也简单,先放命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
-e PUID=$UID \
-e PGID=$GID \
-e UMASK_SET=022 \
-e RPC_SECRET=<TOKEN> \
-e RPC_PORT=6800 \
-p 6800:6800 \
-e LISTEN_PORT=6888 \
-p 6888:6888 \
-p 6888:6888/udp \
-v $PWD/aria2-config:/config \
-v $PWD/aria2-downloads:/downloads \
p3terx/aria2-pro

这里多了个参数日志大小限制的参数,查看docker帮助文档的原文,我下面摘抄一段:

1
2
3
4
5
6
7
8
9
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3",
"labels": "production_status",
"env": "os,customer"
}
}

这里没用之前用过的,体验下新的,不废话看图

这个也很顺利完成了,不过有个问题,不能网页访问,可以通过浏览器插件或者手机APP管理,关于这个我有一篇单独介绍过,链接

另外还有一种解决方式解决,安装WebUI,命令如下:

1
2
3
4
5
6
docker run -d \
--name ariang \
--restart unless-stopped \
--log-opt max-size=1m \
-p 6880:6880 \
p3terx/ariang

这里我就不写部署过程了,可以看看我上面的命令对应填写方式套用下,我上次装那版是集成webui的,这个需要单独部署,完成后需要设置下RPC密钥

这里多说一句,可以去作者博客去看看,设置功能相当强大,链接

qbittorrent

命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=022 \
-e WEBUI_PORT=8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v </path/to/appdata/config>:/config \
-v </path/to/downloads>:/downloads \
--restart unless-stopped \
ghcr.io/linuxserver/qbittorrent

设置图这里我就不描述了,大同小异

默认账号 admin 密码 adminadmin 具体设置之前也有写过这里就不多描述了

写在最后

最近写了好几篇关于docker的教程,主要是在学习docker,顺便练练手,另外推荐一本docker的入门书

京东链接 https://item.jd.com/12564378.html

还有就是下一篇的预告目前计划是写一篇蒲公英免费版突破三个设备限制,无障碍互相访问两个局域网的教程,先顺便学习下布网的知识

还有一个方向是安装jellyfin实现硬件解码,这个还在研究中。

如果对您有帮助,可以考虑支持下作者