Docker部署Halo博客

作者:Administrator 发布时间: 2026-01-23 阅读量:4 评论数:0

Docker部署Halo博客

部署

  1. 创建halo文件夹
  2. 创建并编辑docker-compose.yml文件,内容如下:
version: "3"

services:
  halo:
    image: registry.fit2cloud.com/halo/halo:2.22
    restart: unless-stopped
    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:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:15.4
    restart: unless-stopped
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:
  1. 运行容器docker compose up -d

域名配置

  1. 配置域名的DNS解析
  2. NPM上配置反向代理,配置如下
    • Domain Names:填写上一步配置的域名
    • IP:填写127.0.0.1
    • Port:填写8090
    • SSL Certificate:选择Request a new Certificate
    • 勾选Force SSL

上述配置完后,通过域名/consloe即可访问halo后台

评论