搭建Halo博客教程(阿里云 Docker)

发布时间 2023-10-13 14:48:17作者: 1999LIJIAN

搭建Halo博客教程(阿里云 Docker)

  1. 购买阿里云服务器ECS
  • 在阿里云购买需要的服务器ECS
  • 这里选择安装的操作系统CentOS 8.2 64位
  1. 连接阿里云的服务器

    • 用SSH 客户端进行连接服务器

    • 用PuTTY进行连接服务器

      image-20211116014909446

      • 打开阿里云控制台服务器ECS

        image-20211116015214607

      • 第一次创建的服务器要进行重置实例密码(否,则更具实际来进行输入密码)

        • image-20211116020549136

        image-20211116020709429

      • 在PuTTY填入自己的公网IP

      • 登入(用户名的是root 根据实际来进行输入)

      image-20211116020235371

      • 连接成功

      image-20211116020922846

  2. 安装Docker CE

    • 在安装Docker时,需要卸载掉Podman是CentOS 8预装的类似Docker 的软件

      • 查看是否安装Podman
      rpm -q podman
      
      • 删除Podman
      dnf remove podman
      
    • Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版

    • 安装Docker的依赖库

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    • 添加Docker CE的软件源信息

      yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      
      
    • 安装Docker CE

      • 直接yum -y install docker会默认下载最新的docker-ce的最新版本
      yum -y install docker
      
      • --name:容器名

      • -e:设置环境变量,MYSQL_ROOT_PASSWORD为数据库密码,自行修改,用户名默认root

      • 这里因为我主机已有mysql,所以映射端口到3307,这个自行决定选版本

        yum makecache fast
        
        • 进行实际性安装(不做过多的演示)
        yum -y install docker-ce
        
      • 启动Docker服务

      systemctl start docker
      
      • 查看版本
      docker -v
      
      • 开机自启Docker服务
      sudo systemctl enable docker
      
  3. 利用容器间的关联使用容器中的数据库

    • 拉取MySQL5.7镜像
    docker pull mysql:5.7
    
    • 创建并启动MySQL容器

      docker run --name blog_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=lijianlijian1211L! -d mysql:5.7
      
      • --name:容器名
      • -e:设置环境变量,MYSQL_ROOT_PASSWORD为数据库密码,自行修改,用户名默认root
      • 这里因为我主机已有mysql,所以映射端口到3307,这个自行决定
    • 进入容器

    docker exec -it blog_mysql /bin/bash
    
    • 进入MySQL
    mysql -u root -p
    
    • 创建halo必要数据库halodb,注意字符集和排序规则
    create database halodb character set utf8mb4 collate utf8mb4_bin;
    
  4. Halo安装

    • 拉取最新的Halo镜像
    docker pull halohub/halo
    
    • 创建Halo容器并使其关联数据库容器

      docker run -itd --name --link blog_mysql -p 8090:8090 -v ~/.halo:/root/.halo --restar=always halohub/halo
      
      • 参考说明
      -i, 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用
      -t, 分配一个伪tty,一般与 -i 连用
      -d,在后台运行容器,并且打印容器id
      - -name,容器名
      - -link,指定容器间的关联
      -p, 容器内部端口绑定到指定的主机端口,主机端口:容器端口
      -v, 挂载目录,这里是将主机的目录~/.halo挂载到容器的目录/root/.halo上
      - -restart=always,当docker重启时,容器自动启动
      
  5. 进行安装Halo

    • 注意云服务器要开放8090端口和3360端口
    • 在进行访问http://ip:8090进行安装Halo