宝塔面板使用docker

宝塔面板使用docker

浏览次数:
信息来源: 用户投稿
更新日期: 2025-12-01
文章简介

Solo是一款小而美的博客系统,专为程序员设计。Solo有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。 虽然大鸟不是程序员,但是还是很

2025阿里云双十一服务器活动

Solo是一款小而美的博客系统,专为程序员设计。Solo有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。

虽然大鸟不是程序员,但是还是很喜欢这个博客的,不过因为是Java开发,所以安装环境折腾起来有点门槛。

老规矩还是用宝塔面板来折腾,不过还是用Docker来部署,这也是官方推荐的安装方式。官方不建议通过war发布包或者源码构建部署,因为这样的部署方式在将来有新版本发布时升级会比较麻烦。这两种方式请仅用于本地试用,线上生产环境建议通过Docker部署。大鸟还写过Solo博客的文章:

  • 宝塔面板–Java项目管理器安装Solo博客教程
  • 这篇文章就来分享宝塔面板下Docker安装Solo博客系统,这款小而美的博客程序。

    一:solo简介

  • 官网:https://solo.b3log.org/
  • github:https://github.com/b3log/solo
  • 下载地址:https://github.com/b3log/solo/releases
  • 看起来功能上还是很简单的,不过够用就好。

    二:安装docker+docker-compose

    宝塔面板安装就不用多说了,我们开始安装docker,软件商店安装即可:

    大鸟这里已经安装好了,没安装的自己安装。

    宝塔面板没有自带docker-compose,所以需要自己命令环境下安装,Docker-Compose是一个部署多个容器的简单但是非常必要的工具,安装Docker-Compose之前,请先安装python-pip?不过对于宝塔面板来说python-pip早已安装好了,所以宝塔面板安装Docker-Compose只需要一个命令就足够了,安装命令:

    pipinstalldocker-compose

    看看安装界面,以及安装完成的截图,这些需要SSH连接服务器进行操作:

    安装了docker+docker-compose,我们还需要检查下,因为这是我们docker安装solo博客很关键的地方,检查命令:

    三:下载solo-in-docker以及编辑

    项目地址:https://github.com/liumapp/solo-in-docker

    可以用命令方式下载,或者用宝塔面板自带的远程下载来搞定,把下载的文件放在[code]root[/code]目录下,大鸟这类用git下载,命令如下:

    gitclonehttps://github.com/liumapp/solo-in-docker.git

    3.2编辑docker-compose.yml文件

    下载好之后,我们需要编辑[code]/root/solo-in-docker[/code]下的docker-compose.yml文件,完整编辑好文件如下:

    -https://www.daniao.org/mysql/data:/var/lib/mysql//mysql的数据文件存放地址

    -https://www.daniao.org/mysql/conf/mysqld.conf:/etc/mysql/mysql.conf.d/mysqld.cnf//mysql的配置文件存放地址

    -"6603:3306"//6603代表宿主机端口,3306代编容器的端口

    宝塔面板使用docker

    image:b3log/solo//直接使用最新版本的solo镜像

    -"8080:8080"//如果要部署到线上的话,请改为"80:80",同时修改下面的--listen_port=80

    environment://此处配置solo跟mysql的连接设置,来源为上面启动的mysql容器,如果要用自己的mysql服务,那么请将mysql的servcie去掉

    JDBC_PASSWORD:"adminadmin"

    JDBC_DRIVER:"com.mysql.jdbc.Driver"

    JDBC_URL:"jdbc:mysql://mysql:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC"//此处,因为solo跟mysql同为docker容器,所以可以直接使用容器名+容器端口来访问

    command:--listen_port=8080--server_scheme=http--server_host=www.daniao.org//按照solo官方要求,在solo启动之初,配置solo的域名、端口,如果是本地测试的话,将host改为localhost即可

    四:开始部署和问题解决

    配置好了,docker-compose.yml文件我就可以部署了,不过还是需要把solo-in-docker这个文件名修改成solo比较好,这样简单点,修改好之后,开始部署,命令如下:

    开始用docker-compose自动部署镜像的时候,大鸟这里发现了错误,如下:

    错误提示:80端口已经被占用,对于宝塔面板来说这应该nginx默认监听80端口所指,问题还是好解决的,路径:[code]/www/server/panel/vhost/nginx[/code],找到[code]0.default.conf[/code]和[code]phpfpm_status.conf[/code]这两个文件修改其中的80端口即可,如图:

    当然了,如果你默认用什么8383这样的端口,也无需去修改这里的文件了。这样修改好之后,我重新运行:[code]docker-composeup-d[/code],即可成功启动solo了。

    五:solo博客展示与使用

    我们在docker上成功部署了solo,这样就可以通过域名打开网址了,额,域名别忘了解析哈,

    管理的用户名和密码就是github的账号和密码,初始我们需要登录github,之后就可以管理后台了,

    功能上来说非常简单,不过内置了19个皮肤,我们可以更换一个自己喜欢的。我们来试试发表文章:

    功能上是很简单的,也很清爽,至于其他的功能喜欢折腾的自己去试试!

    五:升级solo与一些细节

    如果有更新,我还是需要在solo目录下运行:[code]docker-composeup-d[/code],常用的命令如下:

    停止命令,可以停止网站运行。

    dockerlogs-t-f--tail100solo

    六:总结

  • docker-compose只是一个docker容器的编排工具,本质还是docker容器在运行
  • 每一次命令docker-compose启动的时候,都会自动拉取最新solo的镜像,所以自动更新非常简单
  • 数据备份问题,docker容器死亡的时候,容器内数据会自动清除,除非我们使用volumes构建映射关系,这里我只将最重要的mysql数据库文件映射在mysql/data目录下
  • 用宝塔面板来构建solo博客还是比较简单的,只是因为这个博客是在太小众,网上的资料基本看不懂,大鸟真的是折腾了好久,等真正吃到嘴的时候,发现味道也就如此,比如上街看到一个美女,穿着清凉性感的短装,你看见她的时候荷尔蒙飙升,非常想“马赛克”……

    其实就像烤红薯,闻着香,吃到嘴里也就那样……

    貌似没有说怎么安装SSL证书,下次说吧,文章已经太长了,不一定有人能看完。

    标签:
    2022年黑色星期五Black(2022黑色星期五是哪一天)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!