安装部署
安装部署的方式使用的docker compose部署的方式
在root目录下创建一个halo文件夹
mkdir ~/halo
创建一个compose.yaml文件并把下方的yaml文件内容放进去
touch ~/halo/compose.yaml
下面是compose.yaml文件内容
services:
halo:
# 镜像
image: registry.fit2cloud.com/halo/halo:2.20
# 容器名
container_name: halo2
# 重启策略, on-failure:3 表示失败重启 3 次
restart: on-failure:3
# 网络接口
networks:
halo_network:
# 端口
ports:
- "8090:8090"
# 持久化存储
volumes:
- ~/halo/halo2:/root/.halo2
# 环境变量
environment:
- TZ=Asia/Shanghai
- "JVM_OPTS=-Xmx256m -Xms256m"
# 健康检查
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
# 启动命令
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://mysql:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=dsmggmDwN&JSa56
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
# MySQL 服务
mysql:
image: mysql:8.1.0
container_name: halo2_mysql
restart: on-failure:3
networks:
halo_network:
volumes:
- ~/halo/mysql/conf/my.cnf:/etc/mysql/my.cnf
- ~/halo/mysql/logs:/logs
- ~/halo/mysql/data:/var/lib/mysql
privileged: true
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=dsmggmDwN&JSa56
- MYSQL_DATABASE=halo
- TZ=Asia/Shanghai
# 定义一个网络
networks:
halo_network:
启动容器服务
cd ~/halo
# docker compose V2使用这个
docker compose up -d
# docker compose V1使用这个
docker-compose up -d
不知道compose版本的直接复制全部粘贴就行
等待镜像拉取后访问http://ip:默认端口8090
停止服务
cd ~/halo
# docker compose V2使用这个
docker compose down
# docker compose V1使用这个
docker-compose down
其它安装方法可到[官网]看看
评论区