plumemo 容器跑,轻松提效省资源
众所周知, Docker 相比虚拟机运行服务有众多优势。今天,我们就来给咱们的 plumemo 博客插上 Docker 的翅膀
发布页面如下:
DockerHub发布页面 在这里下载可以通过 Docker 使用的镜像
GitHub发布页面 在这里查看源码,帮助改进镜像,询问问题
当然,你也可以在本页面的评论区留下你的问题和疑惑
第一次做容器镜像,希望各位大佬多多指教,帮助改进
以下在镜像使用方法和容器构建指北,你也可以在 DockerHub发布页面 和 GitHub发布页面 分别看到它们
镜像使用方法
plumemo_pre
plumemo博客容器镜像(半成品)
说是半成品的原因是需要手动执行一键部署脚本的命令,如果您能够完善这个镜像,欢迎您前往本项目的 GitHub 页面提交 PR ,非常感谢!
镜像内容
- sshd 服务,使用 22 标准端口
- 未安装的 nginx 服务,已预留 80 和 443 端口用于 http 与 https
- 预留了 3306 端口用于连接外部 mysql 服务器
- plumemo 一键安装脚本,来自 plumemo 官方
- plumemo 一键安装脚本所需要的部分软件包( nginx 、 theme-react-sakura 主题、管理系统(版本 1.2.0 ); jdk 和 mysql 没有内置)已内置,节省下载时间
- plumemo 及其一键安装脚本所需的各种依赖已全部安装
- plumemo 开机自启脚本
- LuckyBlog 的主题,基于 theme-react-sakura(非 SSR 版) 做了一定改动,效果可以前往 LuckyBlog 查看
nginx.conf
nginx 网站设置文件
使用方法
(注:以下内容假设你使用 plumemo 一键安装脚本,并安装到了默认目录)
- 将本镜像 pull 下来并运行,需要加参数(在镜像名称前)
-tid
- 使用
docker exec
命令进入容器并使用passwd
修改 root 密码,之后可以使用 putty 等软件通过 root 账户及刚才设置的密码连接该容器 - 使用
./plumemo-v1.0.0.sh
命令运行一键安装脚本,安装你需要的各种服务(如果软件下载缓慢,可提前下载到宿主机并使用docker cp
命令复制到容器中(plumemo 一键安装脚本的内置软件存放目录为 /usr/local/plumemo ) - 安装完成,检查是否有
nginx
命令(在终端直接输入nginx
),若没有,执行以下命令
cp /usr/local/plumemo/nginx/sbin/nginx /usr/bin/nginx |
- 根据你的情况,修改 root 目录的 nginx.conf 文件(需要修改里面的
server_name localhost 177.229.25.8 blog.luckykeeper.site;
这部分内容,改为你的容器的 ip 和你的域名 ) - 在 /usr/local/plumemo 目录下建立
https
文件夹,将https
证书和密钥拷入,文件名分别是 fullchain.pem 和 privkey.pem ,如需要自动更新证书,请参考这篇文章,使用定时运行docker cp
的方法像该文件夹传递更新之后的证书 - 如不需要使用 https ,只通过 http 运行,请修改 nginx.conf 文件,注释掉 SSL 部分
- 将修改好的
nginx.conf
文件从 root 目录复制到 /usr/local/plumemo/nginx/conf/ 目录下,替换原nginx.conf
文件 - 如果需要使用 LuckyBlog 的主题,就将 root 目录下的 theme-react-sakura 这个文件夹替换 /usr/local/plumemo/theme/theme-react-sakura
- 全部设置完成,对博客进行测试,首先使用
htop
或ps
等命令查找已经存在的 nginx 进程,并使用 kill [ nginx 进程的 PID] 停止 nginx ,再切换到 root 目录,运行 blog_auto_start.sh 脚本测试自动启动,并通过查看 root 目录下 nohup 文件的日志的输出和浏览器访问检查博客运行状态,如运行正常,执行下一步的操作 - 使用 docker commit 命令将修改好的容器重新打包成一个新的镜像,然后关闭原先的容器,使用刚刚打包出来的镜像运行容器,需要带参数(在镜像名称前)
-tid
和附加参数(在最后面)bash /root/blog_auto_start
- 至此,全部任务完成,享受 plumemo 吧~
特别注意:docker commit 命令打包的镜像包含个人数据(如数据库账号密码等),请不要将其上传到公共镜像仓库之中
plumemo介绍
以下部分是 plumemo 介绍,引自 plumemo-deploy,供对 plumemo 不了解的用户参考, plumemo 传送门
plumemo
Plumemo 是一个轻量、易用、前后端分离的博客系统,为了解除开发人员对后端的束缚,真正做到的一个面向接口开发的博客系统。
简介
plumemo [plumemo],plume(羽) + memo(备忘录)
基于SpringBoot实现零配置让系统的配置更简单,使用了Mybatis-Plus快速开发框架,在不是复杂的查询操作下,无需写sql就可以快速完成接口编写。
后台管理系统使用了vue中流行的ant,另外前后交互使用了JWT作为令牌,进行权限、登录校验。。
感谢
本项目使用了 plumemo 一键安装脚本 在此提出感谢
问题反馈及建议
请前往本项目的 GitHub 页面提交反馈及建议,如果这个项目帮助了你,请到本项目的 GitHub 页面给个 star
容器构建指北
- 适用对象:有一定技术能力,想自行构建容器镜像的用户;已经虚拟机部署,想切换到 Docker 的用户
- 注意事项如下:
- theme 文件夹存放你现在的主题,可以是
theme-react-sakura
,也可以是theme-vue-bluesoul
或将来兼容的其它主题 - 本页面的 theme 文件夹是 LuckyBlog 的主题,基于 theme-react-sakura(非 SSR 版) 做了一定改动,效果可以前往 LuckyBlog 查看
- 自带了一部分安装文件(包括 nginx 、管理系统 、后台, mysql 和 jdk 没有内置,使用一键脚本时会自动下载),并已经拷贝至一键部署脚本要求的下载目录,节省下载时间(尤其是国内用户,但 jdk 安装包由于超过了 GitHub 的文件大小限制没有加入,国内下载困难的用户可以考虑先想办法下载好之后用
docker cp
命令传进去) - 其它疑问请自行参考 Dockerfile 文件或在 Issues 提问
感谢 plumemo 官方提供的一键脚本 plumemo-deploy
如果该项目帮助到了你,请给个 star 吧~
以下部分是 plumemo 介绍,引自 plumemo-deploy,供对 plumemo 不了解的用户参考, plumemo 传送门
plumemo
Plumemo 是一个轻量、易用、前后端分离的博客系统,为了解除开发人员对后端的束缚,真正做到的一个面向接口开发的博客系统。
简介
plumemo [plumemo],plume(羽) + memo(备忘录)
基于SpringBoot实现零配置让系统的配置更简单,使用了Mybatis-Plus快速开发框架,在不是复杂的查询操作下,无需写sql就可以快速完成接口编写。
后台管理系统使用了vue中流行的ant,另外前后交互使用了JWT作为令牌,进行权限、登录校验。。