内容引用
Docker官方文档
Docker国内镜像
博客-Docker-Compose
RSSHub
Awesome-TTRSS
腾讯云开发者实验室-nextcloud
搭建Docker
阅读官方文档即可快速搭建
命令如果无效, 建议使用sudo权限
卸载旧版本
apt-get remove docker docker-engine docker.io containerd runc
更新apt
apt-get update
允许apt使用Https
apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加Docker官方密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
其实上面这句话是下载并存储为密钥.
检验密钥是否完成
apt-key fingerprint 0EBFCD88
此时显示
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
设置稳定存储库
你也可以设置测试库或者更先进的每晚库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
正式安装
先更新apt
apt-get update
之后安装
apt-get install docker-ce docker-ce-cli containerd.io
完成之后使用hello-world进行校验
docker run hello-world
此时可以看到运行了官方的hello-world镜像
部署Docker-Compose
docker-Compose是Docker的一个外挂组件, 通过配置文件快速运行Docker. 省去很多命令. 维护也省心.
首先前往 http://get.daocloud.io/ 查看目前最新的镜像下载地址
下载Docker-Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
运行
chmod +x /usr/local/bin/docker-compose
部署RSSHub
参照RSSHub官网进行安装即可
下载源代码
非必须, 其实我们只是需要其中的 docker-compose.yml
文件
你可以使用任何方式将此文件移动到之前安装Docker的服务器上, 记得新建文件夹.
RSSHub推荐的指令(实际我是使用ftp上传上去的.)
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
使用Redis缓存
$ docker volume create redis-data
此命令实际上是使用Docker创建了一个Redis镜像.
设置参数
需要编辑之前的文件以便达到自定义的效果.
首先看下源文件
version: '3'
services:
service.rsshub:
image: diygod/rsshub
restart: always
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://db.redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://service.browserless:3000'
depends_on:
- db.redis
- service.browserless
service.browserless:
image: browserless/chrome
restart: always
db.redis:
image: redis
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
之后根据RSSHub官网给的参数自行编辑即可
以下是我编辑后的文件, 希望不要抄作业哦. 自己自定义才是最好的.
version: '3'
services:
service.rsshub:
image: diygod/rsshub
restart: always
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://db.redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://service.browserless:3000'
CACHE_EXPIRE: '3600'
CACHE_CONTENT_EXPIRE: '14400'
LISTEN_INADDR_ANY: '3'
PORT: '1200'
depends_on:
- db.redis
- service.browserless
service.browserless:
image: browserless/chrome
restart: always
db.redis:
image: redis
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
启动
只需要运行以下指令即可启动RSSHub
docker-compose up -d
停止启动
docker-compose down
更新
使用最新的docker-compose.yml
文件重新配置并运行即可
使用
此时访问你的云服务器相应端口即可. 记得开放你服务器商的安全组相关端口
如果你使用以上配置, 那么端口是
1200
TTRSS
相信你已经通过上面的流程学会了使用Docker-compose. 那么下面就不会这么详细了.
下载配置文件
docker-compose.yml
注意新建文件夹, 不同的服务要运行在不同的文件夹里面
修改配置
按照自己的需要修改配置
配置就不放了, 就是修改了以下数据库密码和实例地址.
运行
还是使用
docker-compose up -d
访问
通过你自定义的实例地址访问, 注意实例地址的端口要和你配置的端口号一样.
打不开记得检查云服务器的安全组有没有开放相关端口.
nextcloud
私有云盘是好东西, 不过一般云服务器的硬盘都很小, 所以后面会挂载一个腾讯云Cos存储(收费存储服务)
编写一个配置文件
version: '2'
services:
db:
image: mariadb
restart: always
volumes:
- /home/ubuntu/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 1999:80
links:
- db
volumes:
- /home/ubuntu/nextcloud/www:/var/www/html
注意其中的地址 /home/ubuntu/nextcloud
这个是我创建的文件夹, 根据你自己的需求修改.
然后是端口1999:80
根据自己的需要映射.
数据库的相关设置自行修改
运行
老规矩
docker-compose up -d
使用
访问你的相关IP和端口即可.
额外的坑
注意, 第一次访问会写配置, 之后就只能通过这个地址访问了, 如果还想扩展安全地址, 需要修改相关配置
到你服务的目录下找到 www/config/config.php 进行修改即可
修改完之后记得重新启动服务
挂载腾讯云Cos到服务器
这个就相当云给你的服务器添加一个远程的硬盘,容量大, 速度取决于网速. 根据使用情况收费, 具体看文档.
挂载比较繁琐, 先看下使用到的工具吧.
获取源码
git clone https://github.com/tencentyun/cosfs /usr/cosfs
安装依赖
sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config fuse
编译和安装
cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install
cosfs –version
配置密钥
echo ‘BucketName-APPID’:’SecretId’:’SecretKey’ > /etc/passwd-cosfs
首先是 ‘BucketName-APPID’ 这个替换为你存储桶的名称加桶的ID.
例如 mingcheng-123456789
这样
后面的 ‘SecretId’ 和 ‘SecretKey’ 分别是你的API访问密钥ID和Key. 用来使用你的存储API. 没有可能需要申请一个. 由于存储是明文的, 建议使用子账号, 只给Cos相关的权限, 否则后果自负.
联合起来可以举一个例子
echo mingcheng-123456789:nidemiyaoid:nidemiyaomima > /etc/passwd-cosfs
这句话就是写入一个字符串到相关位置.
运行
cosfs ‘BucketName-APPID’ ‘MountPoint’ -ourl=’CosDomainName’ -odbglevel=info
首先 ‘MountPoint’ 是要挂在那个目录, 是你本地的目录地址.
注意只能放在你配置文件目录的
www/
文件夹以下. 不然后面无法通过nextcloud访问.
然后 ‘CosDomainName’ 是你的桶地区代号
例如 http://cos.ap-beijing.myqcloud.com
这个可以在官网查到
注意后面还有可选参数 比如我自己就带了的 -oallow_other
全用户可访问
df -h
上面这句查看磁盘, 看到你指定的文件夹变成一个256T的磁盘就表示成功了.
挂载到nextcloud
NextCloud网站, 选中右上角的应用, 启用最下面的外部扩展插件
之后到设置, 外部扩展进行挂载操作, 挂载类型是本地
.
路径是 /var/www/目录 这个www实际上就是Docker映射过来的.
你在机器里面看不到, 如果你直接设置 /var
作为外挂目录就可以看到多了一个www/
目录. 这就到你的服务里面了.
完毕
谢谢阅读.