initial vault sync

This commit is contained in:
冯先生
2026-06-23 00:24:32 +08:00
commit 8e7723c17a
795 changed files with 157458 additions and 0 deletions

View File

@ -0,0 +1,116 @@
---
title: 2025.12 重新在docker部署安装halo
slug: 2025.12-chong-xin-zai-dockerbu-shu-an-zhuang-halo
cover: ""
categories: []
tags: []
halo:
site: http://www.xybkwd.top
name: ef1a2d4b-3cd8-4d95-ac58-5c705ba636a0
publish: false
创建时间: 2026-01-07T17:32
更新时间: 2026-01-07T17:32
---
#软件配置 #博客 #halo #docker #云服务器
2026.1.7更新2.22.7时补充:
```bash
cd /
cd opt
cd halo
root@VM-4-13-ubuntu:/opt/halo# docker-compose down
Removing b0d24497f8e0_halo ... done
Removing network halo_default
root@VM-4-13-ubuntu:/opt/halo# docker-compose pull
Pulling halo ... done
root@VM-4-13-ubuntu:/opt/halo# docker-compose up -d
halo is up-to-date
# 之后等待就可以重新登录halo博客
# 从登录云服务器开始,到更新完成的整个操作过程操作记录如上
# 在操作之前我已在博客后台进行备份,更新完成后数据还在因此没有使用恢复
# 但是建议以后得操作还是要进行备份
```
---
2025.12 首次更新博客
本次更新halo时发现上次重新部署halo时并没有采用docker-compose方式部署而是直接采用docker run进行部署的因此导致本次试图更新的时候找不到`docker-compose.yml`文件,因此也就没有使用一键更新的方式。
---
### 一、本次问题起源
此前因信息安全的原因进行过halo的重新部署本想着这次应该轻车熟路但是因为上次最后不是使用docker-compose进行安装的因此没有办法使用一键安装。
首先我经历了较为长久的确定安装方式的研究最终确定我是使用docker run部署的。
在这种情况下,只得采用**博客备份、docker部署的halo删除、建立docker-compose.yml的方式重新部署。**
### 二、本次的操作:
一是创建`docker-compose.yml`文件
本次把文件放在了以下的路径中,并不是容器在这里。
```bash
sudo mkdir -p /opt/halo
cd /opt/halo
```
二是使用`nano`将下面的内容粘贴近yml文件中
```yml
version: "3.8"
services:
halo:
image: halohub/halo:2.21.10 # 建议指定一个已知稳定的版本号,而非 latest
container_name: halo
restart: unless-stopped # 除非手动停止,否则总是重启
volumes:
# 【关键】将你现有的 Halo 数据目录挂载到容器内
# 左边 /root/.halo 替换为你通过 `docker inspect halo` 查到的真实数据目录
- /root/.halo:/root/.halo2
ports:
- "8090:8090" # 保持与你当前映射的端口一致
# 外部访问地址,请根据你最终希望通过哪个域名访问来修改
# 例如:--halo.external-url=https://blog.yourdomain.com
command:
- --halo.external-url=http://localhost:8090/
```
三是停止并删除原来的halo docker按照yml的配置重新拉取并部署
```bash
docker stop halo
docker rm halo
docker-compose up -d
```
四是运行`docker-compose ps``docker ps`,查看 `halo`容器的状态是否为 "Up"。
---
以后再更新时,使用以下命令即可。
**每次更新,都必须要进行备份**
```bash
docker-compose pull
# 1. 拉取新版本的镜像如果yml文件中的镜像版本号已修改此命令会下载新镜像
docker-compose up -d
# 2. 使用新镜像重新创建并启动容器
```
目前还有一个疑点,但是不是很重要
即yml文件中的挂载地址和容器中的好像有一点差异导致本次利用docker-compose安装时数据都丢失了。
为什么说不重要呢?
因为不管怎么更新,我的博客数据是一定要备份的
因此,这个挂载不重要。
但是目前处于一种不确定,但是不太敢折腾的状态
等到下次版本的更新时看一下
一键更新后时无缝衔接呢,还是又被重新初始化了?
我个人猜测应该不会被初始化了
[[【索引】Halo博客搭建过程记录]]