本文详细介绍了在 CentOS 虚拟机中通过 Docker 部署 RSSHub 的完整步骤,包括配置国内镜像源优化 YUM 更新速度、安装 Docker、运行 RSSHub 容器,以及如何设置防火墙和虚拟机端口映射以实现主机访问。
一、编辑 YUM 配置文件
1、打开 CentOS 系统中的 YUM 软件仓库配置文件
1 | vim /etc/yum.repos.d/CentOS-Base.repo |
2、将 [base]
、[updates]
、[extras]
等仓库的 mirrorlist
删掉(或者注释掉),并添加或修改 baseurl
为国内镜像。这里使用阿里云的镜像:
1 | [base] |
3、保存并退出编辑器,然后输入如下命令清理缓存并重新更新 YUM
1 | yum clean all |
二、安装Docker
1、安装 yum-utils
工具包
1 | yum install -y yum-utils |
2、将 Docker 官方的阿里云镜像源添加到 CentOS 的 YUM 软件仓库列表中
1 | yum-config-manager \ |
3、安装最新版本的 Docker Engine-Community 和 containerd
1 | yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin |
如果提示您接受 GPG 密钥,请选是。
4、启动Docker
1 | systemctl start docker |
5、通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community
1 | docker run hello-world |
出现如下图所示的 Hello from Docker 即为成功
若没有出现如上信息,请根据下面的步骤设置镜像源:
1.编辑 Docker 的配置文件daemon.json
1 vim /etc/docker/daemon.json2、在
daemon.json
中写入如下内容
1
2
3 {
"registry-mirrors":["https://docker.unsee.tech","https://dockerpull.org","https://dockerhub.icu"]
}3、保存退出后重启
1
2 systemctl daemon-reload
systemctl restart docker4、运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community
1 docker run hello-world
三、Docker部署RSSHub
下载并运行基于 diygod/rsshub:chromium-bundled
镜像的应用
1 | docker run -d --name rsshub -p 1200:1200 diygod/rsshub:chromium-bundled |
注:这里的参数可以进行更改,但建议第一次部署不更改,先能运行起来更重要!
出现类似于下图的结果,说明运行成功
如果您安装了GNOME桌面(图形化桌面),可打开里面自备的浏览器,输入 localhost:1200,其返回的网页应该如下图所示
四、VMWare虚拟机设置端口映射
1.Centos7 防火墙开放1200端口
1 | firewall-cmd --zone=public --add-port=1200/tcp --permanent |
2.更新防火墙规则并查看1200端口是否开放
1 | firewall-cmd --reload |
若出现 yes,则1200端口成功开放
3.打开VMWare虚拟机的虚拟网络编辑器,先点击 VMnet8,然后点击 NAT 设置
4.点击”添加“
5.终端查询虚拟机的ip地址
1 | ifconfig |
如下图所示,ens33 中的 inet 后的就是虚拟机的ip地址
6.在”映射传入端口“中写入对应信息,然后保存并应用
7.在主机的浏览器中输入localhost:1200
,如下图所示则端口映射设置成功,然后就可以愉快地根据RSSHub官网文档设置路由啦
五、补充
- 用虚拟机ip地址+端口号设置RSS订阅源
有些RSS阅读器不支持用localhost的方式订阅RSS源,可能会提示”请正确输入URL“
注:irreader支持用localhost的方式订阅RSS源
使用虚拟机ip地址+端口号设置RSS订阅源即可解决该问题
参考资料
1、CentOS Docker 安装 - from 菜鸟教程
2、目前国内可用Docker镜像源汇总(截至2024年11月) - from CoderJia