官方网站:https://docs.halo.run/

1、拉取镜像

docker pull halohub/halo:2.18.0

2、创建容器运行

docker run \
  -it -d \
  --name halo \
  -p 2001:8090 \
  -v ~/.halo2:/root/.halo2 \
  --restart=unless-stopped \
  halohub/halo:2.18.0 \
  --spring.r2dbc.url=r2dbc:pool:mysql://192.168.3.60:3306/halo \
  --spring.r2dbc.username=root \
  --spring.r2dbc.password=dbpassword \
  --spring.sql.init.platform=mysql

建议每次使用最新版本来创建:

docker run -it -d --name halo \
-p 8090:8090 -v ~/.halo2:/root/.halo2 \
halohub/halo:2.19.0 \
--spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo \
--spring.r2dbc.username=root \
--spring.r2dbc.password=root \
--spring.sql.init.platform=mysql
  • -it:开启输入功能并连接伪终端

  • -d:后台运行容器

  • --name:为容器指定一个名称

  • -p:端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。

  • -v:工作目录映射。形式为:-v 宿主机路径:/root/.halo2,后者不能修改。

运行参数详解:

参数名

描述

spring.r2dbc.url

数据库连接地址,详细可查阅下方的 数据库配置

spring.r2dbc.username

数据库用户名

spring.r2dbc.password

数据库密码

spring.sql.init.platform

数据库平台名称,支持 postgresql、mysql、mariadb、h2

halo.external-url

外部访问链接,如果需要在公网访问,需要配置为实际访问地址

数据库配置:

链接方式

链接地址格式

spring.sql.init.platform参数

MySQL

r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}

mysql

  1. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。