搭建Halo博客教程(阿里云 Docker)
- 购买阿里云服务器ECS
- 在阿里云购买需要的服务器ECS
- 这里选择安装的操作系统CentOS 8.2 64位
-
连接阿里云的服务器
-
用SSH 客户端进行连接服务器
-
用PuTTY进行连接服务器
-
打开阿里云控制台服务器ECS
-
第一次创建的服务器要进行重置实例密码(否,则更具实际来进行输入密码)
-
在PuTTY填入自己的公网IP
-
登入(用户名的是root 根据实际来进行输入)
- 连接成功
-
-
-
安装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
-
-
利用容器间的关联使用容器中的数据库
- 拉取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;
-
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重启时,容器自动启动
-
进行安装Halo
- 注意云服务器要开放8090端口和3360端口
- 在进行访问http://ip:8090进行安装Halo