段落引用Halo [ˈheɪloʊ],一款现代化的开源博客/CMS系统,值得一试。
官网:https://halo.run/ 官方文档:https://docs.halo.run/
1.创建工作目录
mkdir ~/docker/halo && cd ~/docker/halo
2.下载示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
3.编辑配置文件,配置数据库或者端口等,默认即可,如需配置请参考官方文档
vim application.yaml
server:
port: 8090
# Response data gzip.
compression:
enabled: false
spring:
datasource:
# H2 database configuration.
driver-class-name: org.h2.Driver
url: jdbc:h2:file:~/.halo/db/halo
username: admin
password: 123456
# MySQL database configuration.
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# username: root
# password: 123456
# H2 database console configuration.
h2:
console:
settings:
web-allow-others: false
path: /h2-console
enabled: false
halo:
# Your admin client path is https://your-domain/{admin-path}
admin-path: admin
# memory or level
cache: memory
4.拉取最新的 Halo 镜像
docker pull hczjl/halo:1.6
5.创建容器
docker run -it -d --name halo -p 8090:8090 -v ~/docker/halo:/root/.halo --restart=unless-stopped hczjl/halo:1.6
主机(宿主)端口:容器端口 ,可在 application.yaml 配置。unless-stopped,在 Docker 启动的时候自动启动 Halo 容器。6.打开 http://ip:8090 即可看到安装引导界面。

按照提示填写相关信息,点击安装即可。
1.创建工作目录
mkdir ~/docker/halo && cd ~/docker/halo
2.创建docker-compose.yaml
此文档提供三种场景的 Docker Compose 配置文件,请根据你的需要选择一种。需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 环境变量代替,所以无需创建 application.yaml 文件。
i.仅创建 Halo 实例(使用默认的 H2 数据库):
version: "3"
services:
halo:
image: hczjl/halo:1.6
container_name: halo
restart: always
volumes:
- ./:/root/.halo
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "8090:8090"
environment:
- SERVER_PORT=8090
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver
- SPRING_DATASOURCE_URL=jdbc:h2:file:~/.halo/db/halo
- SPRING_DATASOURCE_USERNAME=admin
- SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
- HALO_ADMIN_PATH=admin
- HALO_CACHE=memory
ii.创建 Halo + MySQL 的实例:
version: "3"
services:
halo_server:
image: hczjl/halo:1.6
container_name: halo_server
restart: always
depends_on:
- halo_mysql
networks:
network:
volumes:
- ./:/root/.halo
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "8090:8090"
environment:
- SERVER_PORT=8090
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- SPRING_DATASOURCE_URL=jdbc:mysql://halo_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
- HALO_ADMIN_PATH=admin
- HALO_CACHE=memory
halo_mysql:
image: mysql:8.0.32
container_name: halo_mysql
restart: always
networks:
network:
command: --default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
volumes:
- /etc/localtime:/etc/localtime:ro
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_DATASOURCE_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=o#DwN&JSa56
- MYSQL_DATABASE=halodb
networks:
network:
iii.创建 Halo + MySQL + Redis 的实例:
version: "3"
services:
halo_server:
image: hczjl/halo:1.6
container_name: halo_server
restart: always
depends_on:
- halo_mysql
- halo_redis
networks:
network:
volumes:
- ./:/root/.halo
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "8090:8090"
environment:
- SERVER_PORT=8090
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- SPRING_DATASOURCE_URL=jdbc:mysql://halo_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
- HALO_ADMIN_PATH=admin
- HALO_CACHE=redis
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_REDIS_HOST=halo_redis
- SPRING_REDIS_PASSWORD=dm5fD%rvPtq
halo_mysql:
image: mysql:8.0.32
container_name: halo_mysql
restart: always
networks:
network:
command: --default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
volumes:
- /etc/localtime:/etc/localtime:ro
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_DATASOURCE_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=o#DwN&JSa56
- MYSQL_DATABASE=halodb
halo_redis:
image: redis
container_name: halo_redis
restart: always
networks:
halo_network:
volumes:
- ./redis/data:/data
- ./redis/logs:/logs
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_REDIS_PASSWORD 变量值
command: redis-server --requirepass dm5fD%rvPtq
ports:
- "6379:6379"
networks:
network:
3.启动 Halo 服务
docker-compose up -d
4.打开 http://ip:端口号 即可看到安装引导界面。
Content type
Image
Digest
sha256:2e18d8678…
Size
168.6 MB
Last updated
over 3 years ago
docker pull hczjl/halo:1.6