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