部署自己的halo博客

本文详细介绍了在CentOS系统上安装Docker、配置YUM仓库、安装相关组件,启动并设置开机自启,以及如何编写和使用docker-compose文件来部署一个包含MySQL的多容器应用。
摘要由CSDN通过智能技术生成

一、配置docker

1. 安装docker
#关闭Linux和SELinux
systemctl stop firewalld
systemctl disable firewalld
setenforce  0
getenforce
#配置YUM仓库
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker及相关组件
yum install -y docker-ce-20.10.24-3.el7.x86_64 \
docker-ce-cli-20.10.24-3.el7.x86_64 \
containerd.io \
docker-buildx-plugin-0.10.5-1.el7.x86_64.rpm \
docker-compose-plugin
  • docker-ce-20.10.24-3.el7.x86_64: Docker Community Edition,也称为Docker CE,是一个开源的容器化平台。它允许开发者通过使用容器来构建、打包和部署应用程序。
  • docker-ce-cli-20.10.24-3.el7.x86_64: Docker CE的命令行界面(CLI)。CLI提供了一组命令,用于与Docker引擎进行交互,例如管理容器、镜像、网络等。
  • containerd.io:Containerd: 是一个面向容器的守护进程,它作为Docker引擎的核心组件之一。Containerd负责管理容器的生命周期,包括镜像管理、容器的创建、运行和销毁等。
  • docker-buildx-plugin-0.10.5-1.el7.x86_64.rpm: Docker Buildx是一个构建工具,它可以帮助开发者更高效地构建多平台的镜像。它支持同时构建多个平台的镜像,并提供了更多的构建选项和灵活性。
  • docker-compose-plugin: Docker Compose是一个用于定义和运行基于多容器应用的工具。它使用一个简单的YAML文件来定义应用的服务、网络和卷等,并通过一条命令即可启动、停止和管理整个应用。
2. 启动docker并设置开机自启
systemctl start docker
systemctl  enable docker
3. 查看docker版本信息
docker version
4. 查看docker compose版本信息
docker compose version

注意事项: docker compose 的版本要大于等于2.X.X

5. 配置镜像加速器
vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://ung2thfc.mirror.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}
6. 重启docker
systemctl daemon-reload
systemctl restart docker

二、编写docker-compose文件

1. 创建应用目录
mkdir -p /app/halo2
cd /app/halo2
2. 编辑docker-compose文件
vim docker-compose.yaml

Tip: vim 中粘贴文件时,行首产生大量 # ,可以进入vim的命令行模式,依次输入esc ,:set paste 进入粘贴模式即可解决。

version: "3"

services:
  halo:
    image: halohub/halo:2.13
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - /app/halo2/halo2_data:/root/.halo2
    ports:
      - "81:8090"
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
      - --spring.r2dbc.username=root
      # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=o#DwN&JSa56
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
      # 初始化的超级管理员用户名
      - --halo.security.initializer.superadminusername=admin
      # 初始化的超级管理员密码
      - --halo.security.initializer.superadminpassword=lxf@2616

  halodb:
    image: mysql:8.0.31
    container_name: halodb
    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:
      - /app/halo2/mysql_data:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
    environment:
      # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=o#DwN&JSa56
      - MYSQL_DATABASE=halo

networks:
  halo_network:
3. 启动服务
docker compose up -d
Ref: docker部署
Ref: halo部署
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值