用docker + halo搭建自己的博客

一、首先需要一台Linux服务器或者虚拟机

  1. 可以去国内云服务器厂商购买,如阿里云、华为云、腾讯云等等。
  2. 可以windows下载vmware创建本地虚拟机。

二、安装docker

我们博客搭建的载体就是docker,我们首先安装一个,docker 是一种虚拟容器技术,docker分为社区版和企业版,我们使用社区版就可以了。
docker官网上有详细的文档,我们可以参考官网进行安装docker官网

  1. 我在Centos7进行安装,可以先查看CentOS版本,使用命令lsb_release -a查看
    centos版本
  2. 在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用uname -r命令查看
    内核版本
  3. 安装docker我们主要介绍服务器有外网的情况,离线安装此处不做介绍。
  4. 查看是否安装了docker 列表,我这里已经安装了docker
yum list installed | grep docker

docker列表
5. 安装docker

yum -y install docker            

#-y表示过程不询问,直接安装

安装完成后再次使用yum list installed | grep docker命令进行查看,再次获得的结果应该就和第一步的结果一样了。

  1. docker 的启动、停止、重启
systemctl start docker       #启动docker
systemctl restart docker     #重启docker
systemctl stop docker        #停止docker
  1. 查看docker状态
systemctl status docker

docker状态
这就表示docker启动成功了。

我们即将安装halo官网的默认配置文件是采用的H2数据库,较其他数据库来说更为方便。个人更习惯使用mysql 数据库,所以我们先安装mysql数据库。

三、安装MySQL数据库

  1. 我们搜一下MySQL的镜像列表有哪些
docker search mysql

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  给容器起个名字
  1. 查看容器是否启动成功
docker ps

四、安装halo

官网有详细的安装部署步骤,感兴趣的可以去官网学习halo官网

  1. 首先我们在服务器上创建一个放hale文件的工作目录,此处我将halo工作目录放在/root下,我们在root目录下创建halo目录
mkdir /root/halo && cd /root/halo
  1. 下载halo的配置文件到halo目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
  1. 修改配置文件,修改数据库连接
vim application.yaml

mysql配置文件
4. 拉取halo镜像

docker pull halohub/halo:1.4.17
  1. 创建容器
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:端口号就能看到安装引导界面,会自动创建数据表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值