众所周知, 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 一键安装脚本,并安装到了默认目录)

  1. 将本镜像 pull 下来并运行,需要加参数(在镜像名称前) -tid
  2. 使用 docker exec 命令进入容器并使用 passwd 修改 root 密码,之后可以使用 putty 等软件通过 root 账户及刚才设置的密码连接该容器
  3. 使用 ./plumemo-v1.0.0.sh 命令运行一键安装脚本,安装你需要的各种服务(如果软件下载缓慢,可提前下载到宿主机并使用 docker cp 命令复制到容器中(plumemo 一键安装脚本的内置软件存放目录为 /usr/local/plumemo )
  4. 安装完成,检查是否有 nginx 命令(在终端直接输入 nginx),若没有,执行以下命令
cp /usr/local/plumemo/nginx/sbin/nginx /usr/bin/nginx
  1. 根据你的情况,修改 root 目录的 nginx.conf 文件(需要修改里面的 server_name localhost 177.229.25.8 blog.luckykeeper.site; 这部分内容,改为你的容器的 ip 和你的域名 )
  2. 在 /usr/local/plumemo 目录下建立 https 文件夹,将 https 证书和密钥拷入,文件名分别是 fullchain.pem 和 privkey.pem ,如需要自动更新证书,请参考这篇文章,使用定时运行 docker cp 的方法像该文件夹传递更新之后的证书
  3. 如不需要使用 https ,只通过 http 运行,请修改 nginx.conf 文件,注释掉 SSL 部分
  4. 将修改好的 nginx.conf 文件从 root 目录复制到 /usr/local/plumemo/nginx/conf/ 目录下,替换原 nginx.conf 文件
  5. 如果需要使用 LuckyBlog 的主题,就将 root 目录下的 theme-react-sakura 这个文件夹替换 /usr/local/plumemo/theme/theme-react-sakura
  6. 全部设置完成,对博客进行测试,首先使用 htopps 等命令查找已经存在的 nginx 进程,并使用 kill [ nginx 进程的 PID] 停止 nginx ,再切换到 root 目录,运行 blog_auto_start.sh 脚本测试自动启动,并通过查看 root 目录下 nohup 文件的日志的输出和浏览器访问检查博客运行状态,如运行正常,执行下一步的操作
  7. 使用 docker commit 命令将修改好的容器重新打包成一个新的镜像,然后关闭原先的容器,使用刚刚打包出来的镜像运行容器,需要带参数(在镜像名称前) -tid 和附加参数(在最后面) bash /root/blog_auto_start
  8. 至此,全部任务完成,享受 plumemo 吧~

Warning特别注意:docker commit 命令打包的镜像包含个人数据(如数据库账号密码等),请不要将其上传到公共镜像仓库之中

plumemo介绍

以下部分是 plumemo 介绍,引自 plumemo-deploy,供对 plumemo 不了解的用户参考, plumemo 传送门

plumemo

Plumemo 是一个轻量、易用、前后端分离的博客系统,为了解除开发人员对后端的束缚,真正做到的一个面向接口开发的博客系统。

JDK GitHub release GitHub All Releases Docker pulls


简介

plumemo [plumemo],plume(羽) + memo(备忘录)

基于SpringBoot实现零配置让系统的配置更简单,使用了Mybatis-Plus快速开发框架,在不是复杂的查询操作下,无需写sql就可以快速完成接口编写。
后台管理系统使用了vue中流行的ant,另外前后交互使用了JWT作为令牌,进行权限、登录校验。。

官网 | 社区 | QQ 交流群 |

感谢

本项目使用了 plumemo 一键安装脚本 在此提出感谢

问题反馈及建议

请前往本项目的 GitHub 页面提交反馈及建议,如果这个项目帮助了你,请到本项目的 GitHub 页面给个 star

容器构建指北

  • 适用对象:有一定技术能力,想自行构建容器镜像的用户;已经虚拟机部署,想切换到 Docker 的用户
  • 注意事项如下:
  1. theme 文件夹存放你现在的主题,可以是 theme-react-sakura ,也可以是 theme-vue-bluesoul 或将来兼容的其它主题
  2. 本页面的 theme 文件夹是 LuckyBlog 的主题,基于 theme-react-sakura(非 SSR 版) 做了一定改动,效果可以前往 LuckyBlog 查看
  3. 自带了一部分安装文件(包括 nginx 、管理系统 、后台, mysql 和 jdk 没有内置,使用一键脚本时会自动下载),并已经拷贝至一键部署脚本要求的下载目录,节省下载时间(尤其是国内用户,但 jdk 安装包由于超过了 GitHub 的文件大小限制没有加入,国内下载困难的用户可以考虑先想办法下载好之后用 docker cp 命令传进去)
  4. 其它疑问请自行参考 Dockerfile 文件或在 Issues 提问

感谢 plumemo 官方提供的一键脚本 plumemo-deploy

如果该项目帮助到了你,请给个 star 吧~

以下部分是 plumemo 介绍,引自 plumemo-deploy,供对 plumemo 不了解的用户参考, plumemo 传送门

plumemo

Plumemo 是一个轻量、易用、前后端分离的博客系统,为了解除开发人员对后端的束缚,真正做到的一个面向接口开发的博客系统。

JDK GitHub release GitHub All Releases Docker pulls


简介

plumemo [plumemo],plume(羽) + memo(备忘录)

基于SpringBoot实现零配置让系统的配置更简单,使用了Mybatis-Plus快速开发框架,在不是复杂的查询操作下,无需写sql就可以快速完成接口编写。
后台管理系统使用了vue中流行的ant,另外前后交互使用了JWT作为令牌,进行权限、登录校验。。

官网 | 社区 | QQ 交流群 |