安装Docker
具体步骤参见原作者提供的用户文档,地址如下:
Docker 部署 Halo,安装指南
完成Docker的安装之后,通过命令确认是否安装成功。
$ systemctl status docker
$ docker version
拉取mysql镜像
- 拉取官方镜像(我们这里选择5.7,如果不写后面的版本号则会自动拉取最新版)
$ docker pull mysql:5.7 # 拉取 mysql 5.7
$ docker pull mysql # 拉取最新版mysql镜像
- 检查是否拉取成功
$ docker images
- 启动数据库容器
$ docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- --name:容器名,此处命名为mysql
- -e:配置信息,此处配置mysql的root用户的登陆密码
- -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
- -d:源镜像名,此处为 mysql:5.7
- 检查容器运行情况
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5dd84a59cf4c mysql:5.7 "docker-entrypoint.s…" 3 hours ago Up 3 hours 33060/tcp, 0.0.0.0:3306->3306/tcp mysql
可以看到容器ID,容器的源镜像,启动命令,创建时间,状态,端口映射信息,容器名字
5. 查看mysql的IP地址
# 根据docker ps -a获取的容器ID查看
$ docker inspect 5dd84a59cf4c | grep IPAddress
修改Halo配置文件
server:
port: 80
# Response data gzip.
compression:
enabled: false
spring:
datasource:
# H2 database configuration.
# driver-class-name: org.h2.Driver
# url: jdbc:h2:file:~/.halo/db/halo
# username: admin
# password: 123456
# MySQL database configuration.
driver-class-name: com.mysql.cj.jdbc.Driver
# IP和端口根据mysql容器获取的信息进行配置
url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123456
# H2 database console configuration.
# h2:
# console:
# settings:
# web-allow-others: false
# path: /h2-console
# enabled: false