侧边栏壁纸
  • 累计撰写 14 篇文章
  • 累计创建 15 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

使用 Docker Compose 迁移 Halo 博客服务器

xrdev
2023-12-07 / 0 评论 / 0 点赞 / 59 阅读 / 769 字 / 正在检测是否收录...

使用 Docker Compose 迁移 Halo 博客服务器

迁移博客服务器通常伴随着数据的转移和环境的重新配置。今天,我们将探讨如何利用 Docker Compose 和现有的数据库备份文件来迁移 Halo 博客服务器。

初始目录结构和配置

首先,我们的项目结构如下:

User
├── assets
│   └── init.sql
└── docker-compose.yaml

这里的 assets/init.sql 文件非常关键,它包含了原 MySQL 数据库的导出,包括数据库结构、表结构以及数据。

Docker Compose 配置解析

我们的 docker-compose.yaml 文件定义了两个服务:MySQL数据库(halo-mysql-local)和 Halo 博客应用(halo-server)。

version: '3'
services:
  halo-mysql-local:
    image: mysql:5.7
    restart: always
    container_name: halo-mysql-local
    ports:
      - 7357:3306
    volumes:
      - ~/halog-mysql:/var/lib/mysql
      - ./assets/init.sql:/docker-entrypoint-initdb.d/init.sql
    environment:
      MYSQL_ROOT_PASSWORD: "Mysql密码"
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  halo-server:
    image: halohub/halo:latest
    container_name: halo
    restart: always
    environment:
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: MySql密码
      SPRING_DATASOURCE_URL: jdbc:mysql://halo-mysql-local:3306/halo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&autoConnect=true
    ports:
      - "8090:8090"
    volumes:
      - ~/.halo:/root/.halo
    depends_on:
      - halo-mysql-local

迁移步骤

步骤 1: 数据和文件备份

  • 数据库备份assets/init.sql 文件已经包含了必要的数据库信息,因此无需额外备份。
  • Halo 资源文件备份:确保 .halo 文件夹完整备份,该文件夹包含了博客的配置和媒体文件。

步骤 2: 准备新环境

在新服务器上,您需要做的是:

  1. 安装 Docker 和 Docker Compose。
  2. assets/init.sql.halo 文件夹以及 Docker Compose 文件传输到新服务器。

步骤 3: 使用 Docker Compose 启动服务

  1. 在包含 docker-compose.yaml 的目录中运行 docker-compose up
  2. Docker Compose 会自动利用 init.sql 初始化数据库。

步骤 4: 验证和调整

完成迁移后,进行以下操作:

  • 确认网站能够正常访问。
  • 检查数据库数据是否完整。
  • 确保所有配置正确应用。

注意事项

  • 数据一致性:确保迁移后的数据与原始数据匹配。
  • 环境兼容性:新旧环境中的软件版本(如 MySQL)可能存在差异,需相应调整。
  • 端口和环境变量配置:确认端口可用性,环境变量是否需要更新。

结论

使用 Docker Compose 迁移 Halo 博客服务器可以是一个平滑且高效的过程,关键在于充分利用现有的数据备份和正确配置环境。希望这篇文章能帮助您顺利完成 Halo 博客的迁移。


这篇博客提供了详细的步骤和考虑点,用以指导您在使用 Docker Compose 迁移 Halo 博客服务器时的操作。如有其他问题或需要进一步的帮助,请随时联系。

0

评论区