Docker部署Halo,数据库使用MySQL

Docker部署Halo,数据库使用MySQL

Scroll Down

安装Docker

具体步骤参见原作者提供的用户文档,地址如下:
Docker 部署 Halo,安装指南
完成Docker的安装之后,通过命令确认是否安装成功。

$ systemctl status docker
$ docker version

拉取mysql镜像

  1. 拉取官方镜像(我们这里选择5.7,如果不写后面的版本号则会自动拉取最新版)
$ docker pull mysql:5.7   # 拉取 mysql 5.7
$ docker pull mysql       # 拉取最新版mysql镜像
  1. 检查是否拉取成功
$ docker images
  1. 启动数据库容器
$ 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
  1. 检查容器运行情况
$ 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