跳到主要内容

实战:docker部署halo博客-2024.6.1(测试成功)

实战:docker部署halo博客-2024.6.1(测试成功)

image-20240601124839313

image-20240601131029096

目录

[toc]

前言

halo -强大易用的开源建站工具

image-20240601130855899

实验环境

centos7
halohub/halo:2.15
mysql:8.1.0

docker-ce 19.03.9
Docker Compose version v2.23.0

涉及代码包:

docker save halohub/halo:2.15  |gzip > halo-2.15.tar.gz
docker save mysql:8.1.0 |gzip > mysql-8.1.0.tar.gz

[root@halo ~]#ll -h halo-2.15.tar.gz
-rw-r--r-- 1 root root 183M Jun 1 12:59 halo-2.15.tar.gz
[root@halo ~]#ll -h mysql-8.1.0.tar.gz
-rw-r--r-- 1 root root 155M Jun 1 13:00 mysql-8.1.0.tar.gz

链接:https://pan.baidu.com/s/1OR8lbfJr8r7tR95D4b04uw?pwd=jy5h 提取码:jy5h 2024.6.1-实战:docker部署halo博客-2024.6.1(测试成功)

image-20240601130604211

前提条件

  • 已安装好docker;
  • 已安装好docker-compose;

具体文章见底部FAQ。

1、创建数据目录

cd /root
mkdir ~/halo && cd ~/halo

2、启动容器

#vim ~/halo/docker-compose.yaml
version: "3"

services:
halo:
image: halohub/halo:2.15
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/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:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=admin@123
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://192.168.1.200:8090/

halodb:
image: mysql:8.1.0
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=admin@123
- MYSQL_DATABASE=halo

networks:
halo_network:

启动容器:

docker-compose up -d
docker-compose ps

image-20240601124510176

3、测试

通过之前的安装文档,你已经成功安装了 Halo,在首次访问网站的时候会自动跳转到初始化页面,你需要完成这个步骤才能正常使用 Halo。

浏览器里访问:http://服务器ip:8090

image-20240601120109052

表单项说明:

  1. 站点名称:网站的名称,将会显示在浏览器标签页上。
  2. 邮箱:初始管理员的邮箱地址。
  3. 用户名:初始管理员的用户名。
  4. 密码:初始管理员的密码。
  5. 确认密码:重复输入密码以验证是否匹配。

输入完成之后点击初始化按钮即可完成初始化,初始化完成之后,将会跳转到登录页面,输入刚才设置的用户名和密码即可登录。

  • 初始化完成后,就会来到如下界面:

image-20240601124946049

  • 我们顺便来安装joe主题

image-20240601125053593

image-20240601125114157

image-20240601125142842

  • 启用joe3主题后,便是如下效果:

image-20240601125219936

image-20240601125302607

部署结束。

总结

这个建站方式的确很香,后续将以此站点为核心站点。

引用

  • 参考文档:

《实战:centos在线安装docker-2022.8.4(成功测试)》 https://onedayxyy.cn/docs/centos-docker-online-install

image-20240526151404723

  • 参考文档:

《实战:docker-compose安装-2024.4.14(测试成功)》 https://onedayxyy.cn/docs/centos-docker-online-install

image-20240601121632494

  • halo博客部署官方文档

https://docs.halo.run/getting-started/install/docker-compose

image-20240601125358878

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号

《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

https://onedayxyy.cn/

image-20240530221922506

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!