首页
/ Yearning项目Docker部署指南:从零开始搭建SQL审核平台

Yearning项目Docker部署指南:从零开始搭建SQL审核平台

2025-07-07 00:49:01作者:秋泉律Samson

前言

Yearning是一款开源的SQL审核平台,为数据库管理员和开发人员提供高效的SQL审核流程。通过Docker部署Yearning可以大大简化安装和配置过程,本文将详细介绍如何使用Docker和Docker Compose部署Yearning平台。

环境准备

在开始部署前,请确保您的系统已安装以下组件:

  1. Docker引擎(建议版本18.06+)
  2. Docker Compose(建议版本1.25.0+)
  3. MySQL数据库(如使用外部数据库)

基础Docker部署

单容器部署方式

使用docker run命令可以直接启动Yearning容器,需要配置以下环境变量:

docker run -d -it \
           -p8000:8000 -e IS_DOCKER=is_docker \
           -e SECRET_KEY=dbcjqheupqjsuwsm \
           -e MYSQL_USER=root \
           -e MYSQL_ADDR=10.0.0.3:3306 \
           -e MYSQL_PASSWORD=123123 \
           -e MYSQL_DB=Yearning \
           -e Y_LANG=zh_CN \
           yeelabs/yearning

参数说明

  • IS_DOCKER:标识容器化部署,必须设置为is_docker
  • SECRET_KEY:应用加密密钥,建议修改为复杂字符串
  • MYSQL_*系列参数:连接MySQL数据库的配置
  • Y_LANG:界面语言,支持zh_CN(中文)和en_US(英文)
  • -p8000:8000:将容器8000端口映射到主机8000端口

初始化操作

首次部署时,需要执行初始化命令:

docker exec -it <container_id> /bin/bash -c "./Yearning install"

Docker Compose部署方案

对于生产环境,推荐使用Docker Compose部署,它能够更好地管理多个服务间的依赖关系。

docker-compose.yml配置示例

version: '3'

services:
    yearning:
        image: yeelabs/yearning:latest
        environment:
           MYSQL_USER: yearning
           MYSQL_PASSWORD: ukC2ZkcG_ZTeb
           MYSQL_ADDR: mysql
           MYSQL_DB: yearning
           SECRET_KEY: dbcjqheupqjsuwsm
           IS_DOCKER: is_docker
        ports:
           - 8000:8000
        # 首次使用请先初始化
        # command: /bin/bash -c "./Yearning install && ./Yearning run"
        depends_on:
           - mysql
        restart: always

    mysql:
        image: mysql:5.7
        environment:
           MYSQL_ROOT_PASSWORD: ukC2ZkcG_ZTeb
           MYSQL_DATABASE: yearning
           MYSQL_USER: yearning
           MYSQL_PASSWORD: ukC2ZkcG_ZTeb
        command:
           - --character-set-server=utf8mb4
           - --collation-server=utf8mb4_general_ci
        volumes:
           - ./data/mysql:/var/lib/mysql

部署步骤

  1. 创建docker-compose.yml文件并填入上述内容
  2. 首次部署执行:
    docker-compose run --rm yearning /bin/bash -c "./Yearning install"
    
  3. 启动服务:
    docker-compose up -d
    

高级管理操作

系统升级

当升级Yearning版本时,需要执行数据迁移:

docker-compose run --rm yearning /bin/bash -c "./Yearning migrate"

管理员密码重置

如果忘记管理员密码,可通过以下命令重置:

docker-compose run --rm yearning /bin/bash -c "./Yearning reset_super"

重置后默认账号密码为:

  • 用户名:admin
  • 密码:Yearning_admin

注意事项

  1. 生产环境务必修改所有默认密码和SECRET_KEY
  2. MySQL数据库建议配置持久化存储(如示例中的volumes配置)
  3. 首次初始化后,应移除或注释掉command: /bin/bash -c "./Yearning install"这一行
  4. 建议配置适当的日志收集和监控方案
  5. 对于高可用部署,应考虑数据库集群和Yearning的多实例部署

常见问题解答

Q: 为什么无法访问Yearning界面? A: 检查防火墙设置,确保8000端口已开放,并确认容器正常运行。

Q: 初始化失败怎么办? A: 检查MySQL连接配置是否正确,数据库服务是否可访问,并查看容器日志获取详细错误信息。

Q: 如何备份Yearning数据? A: 备份MySQL数据库即可,Yearning所有数据都存储在配置的数据库中。

通过本文介绍的Docker部署方法,您可以快速搭建一个功能完善的SQL审核平台。Yearning的Docker镜像已经过优化,包含了运行所需的所有依赖,大大简化了部署流程。