Docker配置Halo搭建个人博客-快速入门

Docker配置Halo搭建个人博客-快速入门

  • [1 官方文档](#1 官方文档)
  • [2 安装Halo](#2 安装Halo)
    • [2.1 创建Halo主目录](#2.1 创建Halo主目录)
    • [2.2 远程下载配置文件](#2.2 远程下载配置文件)
    • [2.3 编辑配置文件](#2.3 编辑配置文件)
    • [2.4 拉取最新镜像](#2.4 拉取最新镜像)
    • [2.6 查看容器](#2.6 查看容器)
    • [2.7 开放服务器的防火墙](#2.7 开放服务器的防火墙)
  • [3 运行](#3 运行)
    • [3.1 运行项目](#3.1 运行项目)
    • [3.2 停止项目](#3.2 停止项目)
  • [4 常见问题](#4 常见问题)
    • [4.1 没有权限](#4.1 没有权限)
    • [4.2 ommand 'netstart' not found, did you mean:](#4.2 ommand 'netstart' not found, did you mean:)
    • [4.3 command 'firewall-cmd' not found, but can be installed with:](#4.3 command 'firewall-cmd' not found, but can be installed with:)

1 官方文档

使用 Docker 部署

2 安装Halo

2.1 创建Halo主目录

Halo主目录用于存放项目生成的文件,备份迁移的主目录

shell 复制代码
cd /usr/local/src
mkdir halo && cd halo

2.2 远程下载配置文件

下载示例配置文件到 工作目录application.yaml

shell 复制代码
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

2.3 编辑配置文件

主要是数据库的配置,这里可以选择的数据库有很多,具体可根据自身情况选择合适的数据库

可参考官方文档:配置参考

shell 复制代码
vim application.yaml
shell 复制代码
server:
  port: 8090

  # Response data gzip.
  compression:
    enabled: true
spring:
  datasource:
    # MySQL database configuration.
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 123456

halo:
  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level or redis
  cache: memory

2.4 拉取最新镜像

shell 复制代码
docker pull halohub/halo:2.10

在Docker中运行

shell 复制代码
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo
  • it: 开启输入功能并连接伪终端
  • d: 后台运行容器
    -- name: 为容器指定一个名称
  • p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
  • v: 工作目录映射。形式为:-v宿主机路径:/root/.halo,后者不能修改。
    -- restart: 建议设置为 unless-stopped,在 Docker启动的时候自动启动 Halo 容器。

2.6 查看容器

shell 复制代码
docker ps

2.7 开放服务器的防火墙

shell 复制代码
#开放8090端口
firewall-cmd --zone=public --add-port=8090/tcp --permanent 

# 重启防火墙
firewall-cmd --reload

# 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports 

# 查看防火墙端口和进程等相关情况
netstat -lnpt

3 运行

3.1 运行项目

输入ip加上端口号进入Halo

3.2 停止项目

shell 复制代码
docker stop halo

4 常见问题

4.1 没有权限

使用root用户操作,输入下面代码,输入密码即可,第一次数据密码需要输入两次确认密码,按照指示操作即可

shell 复制代码
su root

4.2 ommand 'netstart' not found, did you mean:

这是没有安装相关指令,根据提示安装即可

shell 复制代码
apt install net-tools

其他命令没安装同样操作

4.3 command 'firewall-cmd' not found, but can be installed with:

shell 复制代码
apt install firewalld

恭喜你,配置完成,可以进行个人博客的搭建了

相关推荐
heimeiyingwang10 分钟前
【无标题】
网络·缓存·docker·性能优化·架构
YuanDaima204838 分钟前
堆(优先队列)基础原理与题目说明
linux·运维·服务器·人工智能·python··代码
生万千欢喜心38 分钟前
linux 安装 人大金仓数据库
linux·运维·数据库
Finn Wang1 小时前
KeyPresser 一款自动化按键工具
运维·自动化
坚持就完事了1 小时前
scp命令
linux·运维·服务器
ALex_zry1 小时前
Builder模式在BUFR数据组装中的实践
运维·服务器·建造者模式
牛奶咖啡131 小时前
Docker容器实践——docker部署应用系统
docker·云计算·portainer·docker容器的使用流程·docker虚拟化云桌面·nginx可视化反向代理工具·构建服务器监控探针
说实话起个名字真难啊1 小时前
Docker 入门之单机常用命令总结
docker·容器·eureka
老实巴交的麻匪1 小时前
Exception异常架构设计:系统性异常处理的思维革命(05)
运维·云原生·架构
爱学习的小囧1 小时前
VMware NSX-T Data Center 3.2.3.0 部署后账号密码获取及登录配置教程
linux·运维·服务器·网络·数据库·esxi