今天教大家使用Docker-compose安装halo博客,只需要5分钟即可完成搭建。
项目介绍
Halo是凌霞飞致云旗下的一款强大易用的开源博客建站系统,它让你无需太多的技术知识,新手小白也可以快速搭建一个博客、网站或者内容管理系统。
环境要求
服务器需要先安装Docker和Docker-compose
安装教程
首先来到服务器根目录,输入命令创建一个文件夹
mkdir ~/halo && cd ~/halo
🗯️这个可以自定义目录
然后创建docker-compose.yaml文件,这里可以选择三种数据库存储类型,这里推荐使用mysql数据库
version: "3"
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.20
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
# JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
- JVM_OPTS=-Xmx256m -Xms256m
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=o#DwN&JSa56
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: mysql:8.1.0
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
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=o#DwN&JSa56
- MYSQL_DATABASE=halo
networks:
halo_network:
需要修改代码中的数据库配置好,映射的端口8090如果被占用,请自已更换别的端口
最后输入命令启动Halo服务,过程中会自动拉取镜像
docker-compose up -d
如果拉取失败,请更换Docker镜像源,这里推荐毫秒镜像站
curl -s https://static.1ms.run/1ms-helper/scripts/install.sh | sudo bash /dev/stdin config
然后你就成功安装好halo博客了,用ip地址+8090端口访问即可