Docker | 搭建Halo博客
本文最后更新于 2023-10-24,文章最后在90天前更新,内容可能已经过时。
前言
本教程使用Docker-Compose+PGSQL部署
Docker安装
根据文档进行安装
官方文档1 https://docs.docker.com/engine/install/
官方文档2 https://docs.docker.com/compose/install/
Docker-Compose部署
新建docker-compose.yml
官方文档 https://docs.halo.run/getting-started/install/docker-compose
模板:根据注释自行修改
version: "3"
services:
halo:
image: halohub/halo:2.9.2 # 版本号(不能使用latest标签拉取2.x版本镜像)
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./:/root/.halo2 # 存储卷,建议根据情况修改
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致,建议修改
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,填入为Halo博客准备的URL。可留空。
- --halo.external-url=https://blog.stevenw.cc/
halodb:
image: postgres:latest
container_name: halodb
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data # 存储卷,建议根据情况修改
ports:
- "5432:5432"
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql # PostgreSQL 的密码,建议修改
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:
在项目目录(即.yml文件所处目录)运行Docker-compose。
docker-compose up -d
服务器安全组要放开对应的端口(8090)
登陆后台
进入Halo容器日志,找到初始账密并复制
通过<ip>:<port>来访问博客,Halo会自动跳转到初始化界面
访问后台路径: http(s)://ip:8090/console
更新
备份
手动备份
进入存储卷(或自定义目录),压缩.halo2
文件夹
自动备份
访问Halo控制台,再侧栏找到备份与恢复
,点击新增备份
docker-compose.yml
修改文件中镜像的版本号
...
image: halohub/halo:2.9.2 # 版本号
...
重新拉取镜像并运行
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Steven
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果