系统环境:Alpine vir 3.18.2 x86_64 Alpine Linux安装

已安装docker及compose插件 ALpine Linux中安装Docker

官方文档:Halo

推荐使用Docker Compose方式部署

创建文件夹用于保存附件和数据库,以/opt/halo为例

创建配置文件

在目录内创建docker-compose.yaml文件。

以PostgreSQL数据库为例

version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: unless-stopped
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    environment:
      - TZ=Asia/Chongqing
    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:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://class.cqljxdfxz.com/
      # 初始化的超级管理员用户名
      - --halo.security.initializer.superadminusername=admin
      # 初始化的超级管理员密码
      - --halo.security.initializer.superadminpassword=admin
  halodb:
    image: postgres:15.4
    container_name: halodb
    restart: unless-stopped
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo
      - TZ=Asia/Chongqing

networks:
  halo_network:

启动Halo服务

docker compose up -d

用浏览器访问 http://你的ip:8090/console 即可进入 Halo 管理页面,首次启动会进入初始化页面。

更新容器

1.停止容器

2.备份数据!

3.修改配置文件中的镜像版本,请务必到官方文档查询对应的数据库版本有无变化!