Halo部署教程
本站点使用Docker Compose部署 参考:官方部署教程
环境搭建
系统:Centos7.9
安装 Docker
卸载旧版本(若有)
旧版本的 Docker 被称为 docker 或者 docker-engine,使用下面的命令卸载:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
设置仓库
安装所需的软件包:
sudo yum install -y yum-utils
设置 Docker 的稳定仓库:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
## docker官方镜像地址无法访问,也可以使用阿里云镜像
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 如果添加错误,可以手动删除
# 示例:列出/etc/yum.repos.d/目录下所有的 repo 文件,找到你刚添加的错误文件
ls -l /etc/yum.repos.d/
# 示例:删除错误的docker-ce.repo文件 sudo:获取管理员权限(必须) -f:强制删除,避免文件不存在时提示错误,更稳妥。
sudo rm -f /etc/yum.repos.d/docker-ce.repo
# 也可以清理 yum 缓存,确保错误源不会残留影响
sudo yum clean all安装 Docker 引擎
安装最新版本的 Docker 引擎、容器运行时和 Docker Compose:
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
将Docker的镜像仓库更换为halo官方维护的镜像源(可以忽略,docker-compose.yaml中可以指定镜像源)
创建或编辑配置文件:
使用文本编辑器打开
/etc/docker/daemon.json文件,如果该文件不存在则创建它。sudo vi /etc/docker/daemon.json
添加或修改仓库地址:
在
daemon.json文件中,添加或修改registry-mirrors字段,将其值设置为你想要的仓库地址。示例内容如下:{ "registry-mirrors": ["https://registry.fit2cloud.com", "https://halohub", "https://ghcr.io"] }保存并关闭文件。
配置完成后,就可以使用 Halo 镜像了。例如,拉取 halohub/halo 镜像:
# 需要先启动docker,执行下面的启动 Docker命令
docker pull halohub/halo启动 Docker
安装完成后,启动 Docker 服务:
sudo systemctl start docker
设置 Docker 开机自启:
sudo systemctl enable docker
验证安装
查看docker版本来验证 Docker 是否正确安装:
docker --version
安装 Docker Compose
使用 Docker 插件(推荐)
如果你在安装 Docker 时已经安装了 docker-compose-plugin,那么 Docker Compose 已经可用。可以通过以下命令验证:
docker compose version
初始化Halo运行目录
mkdir /home/halo && cd /home/halo
创建docker-compose.yaml
version: "3"
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.19
container_name: halo
restart: on-failure:3
network_mode: "host"
volumes:
- ./:/root/.halo2
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/blog?usessl=false
- --spring.r2dbc.username=*****
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=*****
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=https://vvhz.com/
# 初始化的超级管理员用户名
- --halo.security.initializer.superadminusername=****
# 初始化的超级管理员密码
- --halo.security.initializer.superadminpassword=*****
- --server.port=8099
启动Halo服务
必须在docker-compose.yaml目录下执行,否则会提示no configuration file provided: not found
# 如果提示docker-compose: command not found 则用下面的命令
# 因为 Docker Compose 分为两个主要版本:
# v1 版本:命令是 docker-compose(带短横线),是独立的二进制文件
# v2 版本:命令是 docker compose(无短横线),作为 Docker CLI 的插件存在
docker-compose up -d
docker compose up -d 实时查看日志
docker-compose logs -f
docker compose logs -f 关闭Halo服务
docker-compose stop
docker compose stop更新容器组
可以提前备份数据
更新Halo服务
修改/home/halo/docker-compose.yaml中的镜像版本
例如:
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.20修改完重新启动 docker-compose up -d
本文链接:
/archives/1743475342988
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
微博客!
喜欢就支持一下吧