前言
U盘使用flippy版Openwrt开启docker。flippy大神限制,N1在安装Openwrt后必须要刷入emmc才会自动启动docker,且如果直接用service开启docker会出现缓存不足的错误。该问题主要是大神将docker的挂载点设置到了emmc,所以才会出现这个问题。Docker-CE
说明: N1在 U盘上不启用docker,写入emmc后自动启用,数据目录是 /mnt/mmcblk1p3/docker
,因此,解决问题的办法是只要把docker的挂载点加载出来就可以解决。可以利用U盘本身的剩余空间/外置存储设备作为挂载点。
比较方便的做法为:首先在windows上利用分区工具将U盘剩余空间新建EXT4分区,之后将U盘插入N1启动进入Openwrt
在系统——挂载点—–处找到创建的分区(一般为/dev/sda3
)
点击:挂载点———–挂载点——–添加
选中:启用此挂载点————UUID处选择你创建的分区/外置存储设备————-挂载点自定义为/mnt/mmcblk1p3/
——–保存&应用
或者可以修改daemon.json
文件,直接在终端输入
1 | vi /etc/docker/daemon.json |
将”data-root
“中/mnt/mmcblk1p3/docker/
修改成你要的地址。如/mnt/sda3/docker
1 | { |
Aria2服务
Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent
等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的带宽。Aria2 有着非常小的资源占用,在关闭磁盘缓存的情况下,物理内存占用通常为 4M(正常 HTTP/FTP
下载的情况下),BitTorrent 下载每秒2.8M/S
的情况下,CPU 占有率约为 6%
。Aria2 支持 JSON-RPC 和 XML-RPC 接口远程调用。
Openwrt启动Aria2服务之前,需对Aria2配置。新建aria2文件夹,修改默认下载目录为新建的aria2文件夹。注意保存之前一定新建好下载的文件夹,不然启动不了。设置aria2文件夹权限,否则下载失败
1 | chmod 777 aria2/ |
Emby媒体服务
使用docker安装Emby Server
镜像。hub.docker.com
网站Emby Server
镜像包有几种,本次试验的CPU为arm架构,故选择emby/embyserver_arm64v8
镜像。新建下面文件夹
1 | mkdir -p /mnt/mmcblk1p3/emby/config |
拉取镜像
1 | docker pull emby/embyserver_arm64v8 |
Emby Server
运行启动
1 | docker run -d --name emby --restart=always -v /mnt/mmcblk1p3/emby/config:/config -v /mnt/mmcblk1p3/emby/videos:/videos -d -p 8096:8096 emby/embyserver_arm64v8:latest |
设备启动后,容器也能自启动,OK。
Centos7与宝塔面板
基于F大的Openwrt 40+
测试,其他固件或版本可能不适用此教程。
1. 安装Docker管理工具Portainer
由于F大的Openwrt 40+
已安装docker,且已经给出简单安装Portainer的方法
1 | /etc/docker-web |
安装完成后,默认端口9999
,建议先进入网页设置账户及密码,选本地 Local 连接进入网页一次。
2. 创建Centos7容器
拉取Centos镜像,从镜像创建容器,这里特别说明使用“/usr/sbin/init
”参数,路由重启后,会造成可视化窗口portainer无法启动(后面给到解决方案),使用此参数,而不是“/bin/bash
”的好处,在于Centos7可以开机自启动,例如容器内的“bt、ssh、crontab
”等都能随着路由的开机自动启动。(未测试)
1 | docker pull centos:7 #拉取下载centos7镜像 |
SSH进入容器Centos7
1 | docker exec -it bt /bin/bash #进入容器 |
安装SSH及其它常用
1 | yum update #更新 |
添加SSH参数并启动SSH
1 | ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' |
编辑SSH配置文件,更改并启用端口。修改22端口避免和Openwrt冲突,这里改为822,并去除“#”注释开启PermitRootLogin yes
允许root登录。
1 | vi /etc/ssh/sshd_config #编辑文件 |
启动SSH服务,当没有报错,并出现PID号,说明启动成功。你可以路由ip+822
端口SSH访问容器Centos7。
1 | /usr/sbin/sshd -D & |
如果安装了宝塔面板ssh登录端口,一定要进入登录宝塔网页后台,找到安全——防火墙,添加822 放行端口,不然可能无法连接容器ssh的。
1 | passwd #修改容器账户名为root的ssh登录密码 |
3. 宝塔面板
安装宝塔面板5.9,安装完成就可以登录了,宝塔面板7.0以上版本可能安装失败。
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh |
宝塔安装过程中,如有错误代码如:You are using pip version 9.0.1, however version 20.1.1 is available
,可以使用下面命令升级
1 | yum -y install epel-release python-pip |
LNMP总是出现各种错误,安装失败,执行日志报错如下
1 | ./configure: error: the HTTP image filter module requires the GD library. |
载安装完gd图形库安装更新成功,命令如下
1 | yum -y install gd-devel |
另一报错
1 | configure: error: Invalid C++ compiler or C++ compiler flags |
执行命令,得以解决
1 | yum -y install gcc-c++ |
还有错误
1 | make[2]: Leaving directory `/www/server/nginx/src/openssl' |
Nginx安装加载ssl错误openssl问题。执行yum install openssl openssl-devel
命令,也未能解决。本想用下面命令升级宝塔面板版本,结果升级失败了
1 | curl http://download.bt.cn/install/update_to_6.sh|bash |
虽然升级宝塔面板失败了,但是安装LNMP(Ngnix1.14,MySQL5.5,PHP7.2,phpMyAdmin4.4)
成功了 ,一脸懵逼,以后有时间再研究。重启路由后,宝塔面板不能自启动,可以参考恩山论坛的解决方法,这里不给方法。
1 | /etc/init.d/bt stop #停止 |
Rclone工具
Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。运行 Rclone 开始配置:
1 | ./rclone config |
挂载rclone磁盘目录与卸载rclone磁盘目录
1 | rclone mount 起的名字: /挂载的目录 --allow-other --allow-non-empty --vfs-cache-mode writes & |
其他详细步骤可以搜索相关教程,例如磁盘的自启动挂载。
FileBrowser
文件浏览器是一种创建你自己的云的软件,你可以在服务器上安装它,将它指向一个路径,然后通过一个漂亮的web界面访问你的文件。默认用户名/密码: admin/admin
第一次运行务必填好项目存放目录,然后保存应用。再手动下载,否则无法使用!