Docker 一键部署 Yearning SQL 审核平台
Yearning 是一款开箱即用的 SQL 审核平台,支持 MySQL 数据库的 SQL 语法审核、SQL 执行、回滚等核心功能。本文介绍如何使用 Docker Compose 快速部署 Yearning。
一、环境准备
- 操作系统:Linux(CentOS 7+ / Ubuntu 18.04+)
- 已安装 Docker 和 Docker Compose
- 开放端口:8000(Yearning Web 端口)
二、部署步骤
1. 拉取镜像
bash
# 拉取 Yearning 镜像
docker pull yeelabs/yearning:latest
# 拉取 MySQL 5.7 镜像
docker pull mysql:5.7
2. 创建数据目录
bash
# 创建 Yearning 和 MySQL 数据目录
mkdir -p /data/{yearning,mysql}
# 赋予目录读写权限
chmod 777 /data/{yearning,mysql}
3. 编写 docker-compose.yaml
bash
vi /data/yearning/docker-compose.yaml
将以下内容写入文件:
yaml
services:
yearning:
image: yeelabs/yearning:latest
container_name: yearning-web
environment:
MYSQL_USER: yearning
MYSQL_PASSWORD: Admin@168
MYSQL_ADDR: mysql:3306
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
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 3
mysql:
image: mysql:5.7
container_name: yearning-mysql
environment:
MYSQL_ROOT_PASSWORD: Admin@168
MYSQL_DATABASE: yearning
MYSQL_USER: yearning
MYSQL_PASSWORD: Admin@168
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --wait_timeout=28800
volumes:
- /data/mysql/data:/var/lib/mysql
restart: always
注意 :生产环境请务必修改默认密码(
Admin@168)和SECRET_KEY。
4. 启动容器
bash
# 进入 docker-compose.yaml 所在目录
cd /data/yearning/
# 启动所有服务
docker-compose up -d
# 查看容器运行状态
docker-compose ps
预期输出如下:
NAME IMAGE STATUS
yearning-web yeelabs/yearning:latest Up
yearning-mysql mysql:5.7 Up
5. 查看启动日志
bash
# 查看 Yearning 容器日志
docker logs -f yearning-web
当日志中出现类似以下内容时,表示启动成功:
Yearning server started successfully
Listening on http://0.0.0.0:8000
6. 访问 Yearning 服务
浏览器访问:http://<服务器IP>:8000/#/login
默认管理员账号:
- 用户名:
admin - 密码:
Yearning_admin
首次登录后系统会提示修改密码,请按照指引完成初始配置。
三、常用管理命令
bash
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看容器日志
docker logs -f yearning-web
# 进入容器内部
docker exec -it yearning-web /bin/bash
四、注意事项
- 密码安全 :部署前务必修改
docker-compose.yaml中的数据库密码和SECRET_KEY - 数据持久化 :MySQL 数据已挂载到
/data/mysql/data,请定期备份该目录 - 端口冲突:确保 8000 端口未被其他服务占用
- 资源要求:建议服务器至少 2C4G 配置
- 首次部署 :
command行包含install操作,首次部署后如需重启,可注释该行避免重复安装
五、结语
通过 Docker Compose 的方式,我们仅需几分钟即可完成 Yearning SQL 审核平台的部署。Yearning 提供了完整的 SQL 审核流程,支持工单管理、SQL 语法检查、权限控制等功能,是 DBA 和开发团队的得力助手。
如需了解更多高级配置(如 LDAP 接入、钉钉/企业微信通知等),可参考 Yearning 官方文档。