快速搭建Halo博客 + 崩溃秒恢复方案(Docker极简部署)
前言
想搭建一个简洁美观的个人博客,要求:
- 部署简单快捷
- 占用空间小
- 崩溃/重装后能快速恢复
- 无需备案、无需复杂配置
经过对比,最终选择 Docker + Halo2 方案,轻量、稳定、备份迁移极其方便。
一、环境说明
- 系统:Ubuntu 20.04(其他Debian系也通用)
- 架构:x86_64
- 工具:Docker + Halo2
- 优势:一键启动、备份仅一个文件夹、恢复秒级
二、完整部署流程(从0到上线)
1. 更新软件源(安全更新,不升级系统版本)
bash
apt update && apt upgrade -y
中途如果出现 SSH 配置文件提示:
选择 keep the local version currently installed → OK
2. 安装Docker依赖
bash
apt install apt-transport-https ca-certificates curl software-properties-common -y
3. 添加Docker官方GPG密钥
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4. 添加Docker软件源
bash
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | tee /etc/apt/sources.list.d/docker.list
5. 安装Docker
bash
apt update
apt install docker-ce docker-ce-cli containerd.io -y
6. 验证Docker安装成功
bash
docker --version
出现版本号即成功。
7. 创建Halo数据目录(用于持久化保存)
所有文章、图片、配置都存在这里,备份只需要备份这个目录。
bash
mkdir -p /root/halo
8. 一键启动Halo博客
bash
docker run -d \
--name halo \
--restart always \
-p 80:8090 \
-v /root/halo:/root/halo \
halohub/halo:2.18
9. 访问博客初始化
浏览器访问:
http://你的公网IP
按照提示设置管理员账号、密码,完成安装即可进入后台。
三、Halo日常管理命令(必备)
bash
# 查看运行状态
docker ps
# 停止博客
docker stop halo
# 启动博客
docker start halo
# 重启博客
docker restart halo
# 查看日志
docker logs -f halo
四、最重要:崩溃/重装系统后快速恢复
这是本方案最大优势:数据完全独立,恢复只需3步。
1. 备份(平时只需要备份这个文件夹)
bash
tar -zcvf halo_backup.tar.gz /root/halo
下载到本地保存。
2. 恢复流程(重装后)
-
重新执行本文 第1~6步 安装Docker
-
创建目录:
bashmkdir -p /root/halo -
将备份的
halo文件夹上传覆盖到/root/halo -
执行启动命令:
bashdocker run -d \ --name halo \ --restart always \ -p 80:8090 \ -v /root/halo:/root/halo \ halohub/halo:2.18
恢复完成!所有文章、主题、配置、图片完全不变。
五、空间占用说明
- Docker:≈200MB
- Halo镜像:≈300MB
- 博客数据:纯文字仅几MB,大量图片也就几百MB
- 整体占用:500MB~1GB
小容量毫无压力。
六、总结
这套 Docker + Halo 方案非常适合:
- 不想折腾数据库
- 追求极简部署
- 需要快速备份、快速迁移、快速恢复
- 想要美观现代的博客系统
一条命令启动,一个文件夹备份