halo测试

奥黛丽·逐爱者
2025-06-09 / 0 评论 / 3 阅读 / 正在检测是否收录...

docker中测试
1、带数据库

version: "3.8"

services:
  halo:
#    image: halohub/halo:latest
    image: halohub/halo:2.20
    container_name: halo
    restart: always
#    restart: unless-stopped  # 更合理的重启策略
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - /vol1/1000/docker/appdata/halo:/root/.halo2
    ports:
      - "8090:8090"
    environment:  
      - SPRING_R2DBC_URL=r2dbc:pool:mysql://halodb:3306/halo
      - SPRING_R2DBC_USERNAME=root
      - SPRING_R2DBC_PASSWORD=o#D1wN&JSe561
      - SPRING_SQL_INIT_PLATFORM=mysql
      - HALO_EXTERNAL_URL=http://192.168.0.108:8090/
      - HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME=admin
      - HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD=xxxxxx11
    healthcheck:  # 添加健康检查
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  halodb:
    image: mysql:8.0.31
    container_name: halodb
    restart: always
#    restart: unless-stopped  # 更合理的重启策略
    networks:
      halo_network:
    command: 
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - /vol1/1000/docker/appdata/mysql:/var/lib/mysql
      - /vol1/1000/docker/appdata/mysqlBackup:/data/mysqlBackup
    environment:
      - MYSQL_ROOT_PASSWORD=o#D1wN&JSe561
      - MYSQL_DATABASE=halo
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 10s  # 调整为更合理的间隔
      timeout: 5s
      retries: 5
      start_period: 30s
    deploy:  # 资源限制
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          memory: 512M

networks:
  halo_network:
    driver: bridge

2、不带数据库

version: '3'
services:
  halo:
    image: halohub/halo:2.20
    container_name: halo_data
    restart: unless-stopped
    ports:
      - "18090:8090"  # 默认端口,可改为80
    volumes:
    - /vol1/1000/docker/appdata/halo_data:/root/.halo2  # 数据持久化到本地目录
    environment:
      - HALO_EXTERNAL_URL=http://192.168.0.108:8090/ # 改为你的域名或IP
      # 初始管理员账号(可选,首次启动后会自动提示设置)
      - HALO_SECURITY_INITIALIZER_SUPERADMINEMAIL=admin@example.com
      - HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME=admin
      - HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD=xxxxx1
0

评论 (0)

取消