作者:川川川川桑
本文使用的案例设备是爱速特的AS5304T,Unraid没用过,有些出入自己搞定吧。。。
一、Portainer简介
Docker相信不用再多介绍了吧,目前最主流的研发方向,很难定义Docker是个啥,我个人的理解是具备独立程序和虚拟机两者所有优点的一个存在,安装方便。
但是传统Docker的管理全部靠命令行管理,劝退了很多新手用户。
Portainer是一个带网页图形化界面的Docker管理器,从安装到管理都可以在一个网页上搞定,特别是已经预设环境变量的docker,简直不要太方便。
二、Portainer部署Docker流程梳理
先给大家列一下部署一个Docker需要的操作步骤,由于部署方法一模一样,所以在第四部分只会列出各Docker需要填写的参数。
第一步:创建用于映射的文件夹
如果说Docker是个用来出水的水龙头,那么你得安排一条管道将水池和水龙头连起来,NAS的真实文件夹就是那个水池。
正常Docker的运行需要映射到NAS上的一个或者多个文件夹存放对应的数据,譬如下载工具Qbittorrent就需要映射两个文件夹,分别用于存放配置文件和下载的文件。
如果你在阿呆猫中安装过基于Docker的程序,那么在文件管理的根目录下面会有一个名为Docker的文件夹,在下面的部署环节中,需要创建的文件夹放在这里就好。
第二步:确认用于映射的端口号
还是拿水龙头举例,有些水龙头出来的是苹果汁,有些是香蕉汁,还有些是混合果汁,所以每个水龙头都得有一个编号,不然想喝的时候就不知道该开哪个。
正常docker本身需要一个或多个端口号进行数据交互,譬如下载工具Qbittorrent就需要映射两个端口号,分别用于TCP+UDP传输和Web管理页面,但是由于Docker只是个程序般的存在,所以需要映射到NAS上才能和外部交互,且不能和NAS上的其他程序共享。
单个Docker需要独享这些端口,如果你不知道NAS上哪些端口已经被用掉了,可以点击偏好设置→手动联机→EZ-Router查看,这里圈出来的都是不能用的。
第三步:确认Docker的来源和具体名称
Potainer默认的Docker源是DockerHub(点我),应该是世界上最大的Docker库,下图圈出来的就是Docker的名称。
第四步:Portainer中拉取Docker
Docker并不是无根之草,在Portainer里拉取和部署是在一个界面,也就是说如果玩熟了,完全可以一次操作就可以完成所有工作。
但是由于很多Docker预置了环境变量,所以建议先拉取再部署。
第五步:手动配置Docker的各项变量
不确认的东西就叫变量,包括上面所说的映射文件夹和映射端口都属于变量范围。
其他的变量还有登录账号密码这些,不过一般Docker都有网页管理后台,所以除了映射文件夹和端口,不建议在部署时候动这些。
第六步:检查Docker的运行状态
所有docker在container里面都能看到基础状态,比如运行与否、创建时间和映射端口这些,关于排障比较麻烦,放到第三部分案例展示里面说。
三、案例示范
这里偷个懒,用之前写过的Subfinder安装流程修改下作为展示。
前置安装
App Central搜索Portainer CE,安装好。
单击打开Portainer,跳转到Portainer的管理页。
首次进入Portainer需要创建一个管理账号,你自己记得就行。
登录后选择local,点connect进入Portainer本地管理后台。
点击add container创建新的docker,待用。
Part.1---Subfinder的部署信息
第四段中所有Docker的信息都会按照这个格式告诉大家:
Docker名称:subfinder
Docker版本:superng6/subfinder:latest
Docker端口号1:6800(TCP+UDP)
Docker端口号2:6883
映射文件夹1:/config
映射文件夹2:/media
Part.2---填写名称拉取Docker
按照下图填写:
Name---对应Docker名称,填subfinder。
Image---对应Docker版本,填superng6/subfinder:latest。
然后直接点击下图圈出的Deploy the container,开始拉这个docker,等待时间由你的网络决定。
拉取完成后,我们可以看到docker里面已经有了subfinder这个docker,只是我们还没配置,点击subfinder。
点击进去subfinder的配置页面后,我们点击Duplicate/Edit进入配置页面。
Part.3---填写映射端口号(可灵活变化)
首先我们配置网络,点击publish a new network port。
填Docker的端口号,这里是6800和6883,这里是不能错的,记得端口区分TCP和UDP,需要单独创建。
接着填写映射到NAS上的端口号,6800和6883我的NAS上面都没有被占用,所以和Docker填一下样的就行了。
【进阶操作】加入这两个端口号要是被NAS上其他的程序占用了,可以将左边的host换成其他的端口号,比如6801和6883,但是右边的container端口号千万别换!
Part.4---填写映射文件夹(可灵活变化)
接着下拉,配置需要挂载的文件路径,先回到文件总管,在Docker下面创建用于映射/config的文件夹,我直接用subfinder当文件夹名称。
/media这个文件夹我指定存放下载的文件夹。
这里两个文件夹映射已经确认了,即:
/config 对应 /volume1/Docker/subfinder
/media 对应 /volume1/OWDownload
点击红框里面的Bind切换到host路径模式,填入对应的路径挂载对应文件夹。
Part.5---更改其他环境变量参数
注意,一般Env是不需要修改的,有需求再改!!!
注意,一般Env是不需要修改的,有需求再改!!!
注意,一般Env是不需要修改的,有需求再改!!!
这里的Subfinder需要修改,环境变量点击Env,按下图配置。
全部配置好之后,点击Deploy the container,会提示是否要replace(覆盖),选择确认即可。
Part.6---查看日志和排障
完成上述操作后,可以看到subfinder处于running状态,正常运行中。点击下面红圈处,可以跳转查看日志。
这里可以看到Docker打印出来的日志,用于监测运行状态。
如果Docker运行不成功,就需要来这里检查到底是什么引发了报错。
四、实用Docker清单
重点提示A:如果你已经在App Central安装过相同的软件,一定要删除App Central的版本再来部署Docker版本!!!
重点提示B:如果Docker有管理地址,则在浏览器输入NAS的IP加上管理端口,譬如NAS的内网IP是192.168.0.16,QB的管理端口是8080 ,那么浏览器就输入:192.168.0.16:8080
下载类:Qbittorrent
Docker名称:qbittorrent
Docker版本:superng6/qbittorrent:latest
Docker端口号1:6881(TCP+UDP)
Docker端口号2:8080
映射文件夹1:/config
映射文件夹2:/downloads
管理端口:8080
简介:下载神器,App Central版本下载不动的,可以试试S大的版本
下载类:Transmission
Docker名称:Transmission
Docker版本:linuxserver/transmission:latest
Docker端口号1:51413(TCP+UDP)
Docker端口号2:9091
映射文件夹1:/config
映射文件夹2:/downloads
管理端口:9091
简介:下载神器,App Central版本下载不动的,可以试试官方版本。
下载类:baidupcs
Docker名称:baidupcs
Docker版本:hsyjln/baidupcs-go-web:latest
Docker端口号1:5299
映射文件夹1:/config
映射文件夹2:/root/Downloads
管理端口:5299
简介:b家网盘的docker版本。
影音类:Jellyfin
Docker名称:Jellyfin
Docker版本:jellyfin/jellyfin:latest
Docker端口号:8096(TCP+UDP)
映射文件夹1:/config
映射文件夹2:/media
管理端口:8096
简介:App Central版本安装不了的话,可以试试官方版本。
影音类:TinyMediaManager
Docker名称:TinyMediaManager
Docker版本:dzhuang/tinymediamanager:latest
Docker端口号1:5800
Docker端口号2:5900
映射文件夹1:/config
映射文件夹2:/media
管理端口:5800
简介:电影和电视剧信息的削刮神器,谁用谁知道。
虚拟类:Ubuntu
Docker名称:ubuntu
Docker版本:ubuntu-upstart:latest
映射文件夹:/home
简介:大名鼎鼎的ubuntu,这里相当于直接生成个精简版本的虚拟机,还是upstart版本,自带网卡驱动,适合学习。
虚拟类:Centos
Docker名称:centos
Docker版本:centos:latest
映射文件夹:/home
简介:运维必须精通的linux,适合学习。
网络类:OpenWRT
Docker名称:openwrt
Docker版本:openwrtorg/rootfs:latest
简介:软路由界的万物之源,具体使用有点复杂,可以参考下面的连接。
网络类:ddns-go
Docker名称:ddns-go
Docker版本:jeessy/ddns-go:latest
Docker端口号:9876
管理端口:9876
简介:docker版本的DDNS程序,界面非常人性化,简化配置过程。
智能家居:HomeAssistant
Docker名称:home-assistant
Docker版本:homeassistant/home-assistant
Docker端口号:8123
映射文件夹:/config
管理端口:8123
简介:搭建智能家居的服务端,具体玩法可以参考下文。
查看文章精彩评论,请前往什么值得买进行阅读互动
什么值得买APP 全网实时购物好价优惠
