一、首先需要一台Linux服务器或者虚拟机
- 可以去国内云服务器厂商购买,如阿里云、华为云、腾讯云等等。
- 可以windows下载vmware创建本地虚拟机。
二、安装docker
我们博客搭建的载体就是docker,我们首先安装一个,docker 是一种虚拟容器技术,docker分为社区版和企业版,我们使用社区版就可以了。
docker官网上有详细的文档,我们可以参考官网进行安装docker官网
- 我在Centos7进行安装,可以先查看CentOS版本,使用命令
lsb_release -a
查看
- 在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用
uname -r
命令查看
- 安装docker我们主要介绍服务器有外网的情况,离线安装此处不做介绍。
- 查看是否安装了docker 列表,我这里已经安装了docker
yum list installed | grep docker
5. 安装docker
yum -y install docker
#-y表示过程不询问,直接安装
安装完成后再次使用yum list installed | grep docker
命令进行查看,再次获得的结果应该就和第一步的结果一样了。
- docker 的启动、停止、重启
systemctl start docker #启动docker
systemctl restart docker #重启docker
systemctl stop docker #停止docker
- 查看docker状态
systemctl status docker
这就表示docker启动成功了。
我们即将安装halo官网的默认配置文件是采用的H2数据库,较其他数据库来说更为方便。个人更习惯使用mysql 数据库,所以我们先安装mysql数据库。
三、安装MySQL数据库
- 我们搜一下MySQL的镜像列表有哪些
docker search mysql
这是mysql的镜像,我们选择第一个最新版的
2. 拉取镜像
docker pull mysql:latest
等待下载完成即可
3. 查看镜像
docker images
4. 运行镜像
docker run --restart=always --privileged=true -v /opt/mysql/data/:/var/lib/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql_r -d -e MYSQL_ROOT_PASSWORD=root mysql
# -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
# MYSQL_ROOT_PASSWORD=root:设置 MySQL 服务 root 用户的密码。
#--restart=always 容器启动时就会重启mysql
#-v 挂载文件目录,将容器内的目录与服务器目录做映射,修改服务器的文件,容器的也会被修改
# --name mysql_r 给容器起个名字
- 查看容器是否启动成功
docker ps
四、安装halo
官网有详细的安装部署步骤,感兴趣的可以去官网学习halo官网
- 首先我们在服务器上创建一个放hale文件的工作目录,此处我将halo工作目录放在/root下,我们在root目录下创建halo目录
mkdir /root/halo && cd /root/halo
- 下载halo的配置文件到halo目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
- 修改配置文件,修改数据库连接
vim application.yaml
4. 拉取halo镜像
docker pull halohub/halo:1.4.17
- 创建容器
docker run -it -d --name halo -p 8090:8090 -v /root/halo:/root/.halo --restart=unless-stopped halohub/halo:1.4.17
#-it: 开启输入功能并连接伪终端
#-d: 后台运行容器
#--name: 为容器指定一个名称
#-p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
#-v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
#--restart: 建议设置为 unless-stopped,在 Docker 启动的时候自动启动 Halo 容器。
然后在浏览器输入http://ip:端口号就能看到安装引导界面,会自动创建数据表。