Docker配置Halo搭建个人博客-快速入门
- [1 官方文档](#1 官方文档)
- [2 安装Halo](#2 安装Halo)
-
- [2.1 创建Halo主目录](#2.1 创建Halo主目录)
- [2.2 远程下载配置文件](#2.2 远程下载配置文件)
- [2.3 编辑配置文件](#2.3 编辑配置文件)
- [2.4 拉取最新镜像](#2.4 拉取最新镜像)
- [2.6 查看容器](#2.6 查看容器)
- [2.7 开放服务器的防火墙](#2.7 开放服务器的防火墙)
- [3 运行](#3 运行)
-
- [3.1 运行项目](#3.1 运行项目)
- [3.2 停止项目](#3.2 停止项目)
- [4 常见问题](#4 常见问题)
-
- [4.1 没有权限](#4.1 没有权限)
- [4.2 ommand 'netstart' not found, did you mean:](#4.2 ommand 'netstart' not found, did you mean:)
- [4.3 command 'firewall-cmd' not found, but can be installed with:](#4.3 command 'firewall-cmd' not found, but can be installed with:)
1 官方文档
2 安装Halo
2.1 创建Halo主目录
Halo主目录用于存放项目生成的文件,备份迁移的主目录
shell
cd /usr/local/src
mkdir halo && cd halo
2.2 远程下载配置文件
下载示例配置文件到 工作目录application.yaml
shell
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
2.3 编辑配置文件
主要是数据库的配置,这里可以选择的数据库有很多,具体可根据自身情况选择合适的数据库
可参考官方文档:配置参考
shell
vim application.yaml
shell
server:
port: 8090
# Response data gzip.
compression:
enabled: true
spring:
datasource:
# MySQL database configuration.
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123456
halo:
# Your admin client path is https://your-domain/{admin-path}
admin-path: admin
# memory or level or redis
cache: memory
2.4 拉取最新镜像
shell
docker pull halohub/halo:2.10
在Docker中运行
shell
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo
- it: 开启输入功能并连接伪终端
- d: 后台运行容器
-- name: 为容器指定一个名称 - p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
- v: 工作目录映射。形式为:-v宿主机路径:/root/.halo,后者不能修改。
-- restart: 建议设置为 unless-stopped,在 Docker启动的时候自动启动 Halo 容器。
2.6 查看容器
shell
docker ps
2.7 开放服务器的防火墙
shell
#开放8090端口
firewall-cmd --zone=public --add-port=8090/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
# 查看防火墙端口和进程等相关情况
netstat -lnpt
3 运行
3.1 运行项目
输入ip加上端口号进入Halo
3.2 停止项目
shell
docker stop halo
4 常见问题
4.1 没有权限
使用root用户操作,输入下面代码,输入密码即可,第一次数据密码需要输入两次确认密码,按照指示操作即可
shell
su root
4.2 ommand 'netstart' not found, did you mean:
这是没有安装相关指令,根据提示安装即可
shell
apt install net-tools
其他命令没安装同样操作
4.3 command 'firewall-cmd' not found, but can be installed with:
shell
apt install firewalld
恭喜你,配置完成,可以进行个人博客的搭建了