docker搭建Halo博客

白也 lol

系统选择了centos,系统搭建和docker安装参考前面那篇文章。首先进入Halo官网,为什么我选这个版本呢?其一我看了官网文档,这个版本易于Halo2.0升级。其二1.X的主题特别多。

Halo+H2数据库搭建

  1. 进入任意文件夹

    1
    2
    3
    4
    mkdir Halo 
    cd Halo
    touch ocker-compose.yaml
    vim docker-compose.yaml
  2. 编辑docker-compose.yaml文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    version: "3"

    services:
    halo:
    image: halohub/halo:1.6.0
    container_name: halo
    restart: on-failure:3
    volumes:
    - ./:/root/.halo
    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 # 博客管理后台登陆密码
  3. 启动项目

    1
    docker-compose up -d

Halo+mysql数据库搭建

  1. 进入任意文件夹
    1
    2
    3
    4
    mkdir Halo 
    cd Halo
    touch ocker-compose.yaml
    vim docker-compose.yaml
  2. 编辑docker-compose.yaml文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    version: "3"

    services:
    halo_server:
    image: halohub/halo:1.6.0
    container_name: halo_server
    restart: on-failure:3
    depends_on:
    - halo_mysql
    networks:
    halo_network:
    volumes:
    - ./:/root/.halo
    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.27
    container_name: halo_mysql
    restart: on-failure:3
    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:
    - /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:
    halo_network:
  3. 启动项目
    1
    docker-compose up -d

Halo+mysql+redis搭建

  1. 进入任意文件夹
    1
    2
    3
    4
    mkdir Halo 
    cd Halo
    touch ocker-compose.yaml
    vim docker-compose.yaml
  2. 编辑docker-compose.yaml文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    version: "3"

    services:
    halo_server:
    image: halohub/halo:1.6.0
    container_name: halo_server
    restart: on-failure:3
    depends_on:
    - halo_mysql
    - halo_redis
    networks:
    halo_network:
    volumes:
    - ./:/root/.halo
    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 #mysql密码
    - 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 #redis密码

    halo_mysql:
    image: mysql:8.0.27
    container_name: halo_mysql
    restart: on-failure:3
    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:
    - /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: on-failure:3
    networks:
    halo_network:
    volumes:
    - ./redis/data:/data
    - ./redis/logs:/logs
    # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_REDIS_PASSWORD 变量值
    command: redis-server --requirepass dm5fD%rvPtq
    ports:
    - "6379:6379"
    networks:
    halo_network:
  3. 启动项目
    1
    docker-compose up -d

主题配置

PS:可以直接去主题官网,里面都有很详细的配置。

  • 本文标题:docker搭建Halo博客
  • 本文作者:白也
  • 创建时间:2022-12-14 11:56:36
  • 本文链接:https://bm4578.github.io/2022/12/14/docker搭建Halo博客/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论