侧边栏壁纸
博主头像
波波 博主等级

宁静致远。

  • 累计撰写 14 篇文章
  • 累计创建 30 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

宝塔面板安装和升级halo(Docker Compose,使用外部MySQL数据库)

波波
发表于 2026-04-21 / 更新于 2026-05-06 / 0 评论 / 0 点赞 / 106 阅读 / 0 字
提示:
本文最后更新于2026-05-06,若内容或图片失效,请留言反馈

本文环境

1.已安装宝塔面板

2.已在宝塔面板中安装docker、docker compose

3.使用在宝塔面板创建的外部数据库(MySQL)

其他环境请参考官方的安装指南

 

安装halo

1.创建数据目录(Halo产生的数据会保存在这个目录)

以目录“/www/wwwroot/_halo”为例,可自行修改

使用以下命令,或者直接在宝塔面板→文件管理中创建(方法殊途同归,效果一样就行)

cd /www/wwwroot

mkdir -p "_halo"

 

2.添加容器编排

宝塔面板→docker→容器编排→添加容器编排,等待容器编排完成

compose内容如下。请自行修改/确认以下部分:

image,image: registry.fit2cloud.com/halo/halo:<要安装的大版本号或小版本号>,版本更新记录:https://releases.halo.run/

volumes,- <之前创建的数据目录路径>:/root/.halo2

ports,- "127.0.0.1:<端口映射(宿主机端口)>:8090",为了安全,此配置只能本地访问,需要反代出来,要允许外部访问,可去掉127.0.0.1:

environment,- JVM_OPTS=-Xmx512m -Xms512m,内存较小可改为256m

command,- --spring.r2dbc.url=r2dbc:pool:mysql://host.docker.internal:3306/<外部数据库名>

command,- --spring.r2dbc.username=<外部数据库用户名>

command,- --spring.r2dbc.password=<外部数据库密码>

services:
  halo:
    container_name: halo
    image: registry.fit2cloud.com/halo/halo:2.24
    restart: on-failure:3
    volumes:
      - /www/wwwroot/_halo:/root/.halo2
    ports:
      - "127.0.0.1:60927:8090"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s
    environment:
      - JVM_OPTS=-Xmx512m -Xms512m
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://host.docker.internal:3306/halo
      - --spring.r2dbc.username=halo
      - --spring.r2dbc.password=
      - --spring.sql.init.platform=mysql

 

3.设置宝塔面板数据库权限

宝塔面板创建的数据库访问权限默认为本地服务器,数据库访问会报错,需要修改一下数据库权限

根据halo容器的网段IP,设置数据库访问权限,例如:172.20.0.%

如果服务器数据库端口不对公网开放,可简单设置为172.%.%.%,不用去看容器IP段

如何查看容器的网段IP:

执行以下命令查看docker容器ip地址和端口映射情况,在输出中找到halo容器的网段IP:

docker inspect -f='{{.Name}} {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} {{.HostConfig.PortBindings}}' $(docker ps -aq)

或者在宝塔面板→docker→网络中查看:

 

4.重启/启动容器编排,查看日志,确认数据库是否成功连接,是否有报错

 

5.配置反向代理

使用Nginx、Caddy等配置反向代理、绑定域名等

上游服务器地址为:http://127.0.0.1:60927(docker-compose.yaml端口映射配置中的宿主机端口)

具体配置可参考官方的安装指南

 

6.初始化设置

浏览器访问 站点地址/console 进入Halo管理页面,完成初始化设置

 

升级halo

后续升级halo,修改配置文件docker-compose文件内容中的image版本号,保存重启容器编排即可

版本更新记录:https://releases.halo.run/

0

评论区