SQL Studio 是由 麦聪软件 开发的一款全 web 的数据库管理和开发工具。可以便捷、高效、简单的管理多种数据库如: Oracle 、 PostgreSQL 、 MySQL 、 SQLite 、 SQL Server 、 DM(武汉达梦) 、 KingBase(人大金仓) 等。
目前 SQL Studio 官方并没有提供容器化的部署方案,本文尝试性的将 SQL Studio 制作成容器并通过 docker 和 kubernetes 将其部署。
(相关资料图)
访问麦聪软件 SQL Studio 下载页,注册账号,下载 SQL Studio Linux 版
http://www.maicongs.com/#/home/probation/studio
准备 SQL Studio 资源
准备简化启动脚本
文件内如如下
为简化启动脚本添加执行权限
创建 dockerfile 文件
文件内如如下
注:使用该dockerfile 文件,构建出的镜像较大,该dockerfile 文件是一个针对SQL Studio 镜像制作的思路的体现。
优化 dockerfile 文件
使用多阶段构建方式,将构建镜像的过程拆分为两个阶段:build 阶段、 environment 阶段,在 build 阶段中将 SQL Studio 官方提供的的程序包 COPY 到构建容器中并安装 unzip 程序将其解压,在 environment 阶段将 build 阶段解压的程序包文件拷入并运行,通过这样的方式将镜像使用的空间减小,因本人习惯于使用CentOS 作为基础镜像,也可以在构建中使用其他更小的基础镜像来完成 SQL Studio 的镜像制作。
分别使用优化前后的 dockerfile 文件构建镜像
dockerfile.old 文件对应优化前的 dockerfile 文件
dockerfile.new 文件对应优化后的 dockerfile 文件
dockerfile 文件优化前后对比
使用如下命令分别打印优化前后镜像的编译信息,查看镜像的占用空间
优化前
注:图片中的优化前的镜像名和文档中镜像名存在不对应的问题,但是都是使用优化前的dockerfile 文件构建的镜像不影响实际结果。
优化后
对比前后的镜像变化,减少了两个 COPY 层,分别是拷入的 SQL Studio 官方提供的的程序包 275MB 和我们自行编写的快速启动脚本 535B ,通过分阶段构建的方式我们将镜像的大小从 1.2GB 缩小到了 923MB ,如果使用更小的基础镜像和其他的优化方式可以将镜像进一步压缩。
删除进行优化测试的俩个镜像
使用优化的后 dockerfile 文件制作镜像
docker 部署命令
命令解析
验证部署是否正常
查看 SQL Studio 的控制台日志是否启动成功
访问 SQL Studio 的 WEB 界面,查看是否可以正常访问
SQL Studio 的 WEB 界面如下图
在镜像制作服务器上修改镜像 Tag 标签
将镜像上传 harbor 镜像存储
在 NFS 持久化存储服务器创建 SQL Studio 持久化文件目录
在 kubernetes master 节点创建 SQL Studio 的 YAML 资源文件存储目录
进入目录
创建 SQL Studio 的存储资源定义 YAML 文件,该章节采用 NFS 存储挂载到 PV , PVC 挂载到容器的方式进行,也可以采用其他的存储资源。
文件内如如下
创建 SQL Studio 的 ConfigMap (配置字典)资源定义 YAML 文件
文件内容如下
创建 SQL Studio 的部署资源定义 YAML 文件
文件内容如下
导入存储资源定义 YAML 文件
输出如下
导入配置字典资源定义 YAML 文件
输出如下
导入部署资源定义 YAML 文件
输出如下
请参考通过 docker 部署 SQL Studio 章节,该部分不在赘述
使用如下地址访问 SQL Studio
http://11.0.1.207:18888/#/login
SQL Studio 的 WEB 登录界面如下图
本次 SQL Studio 设置的账号密码如下
注:首次登陆时,填写的账号密码即为之后使用中的账号密码
SQL Studio 的 WEB 工作界面如下图
SQL Studio 用户管理
测试用户信息如下,请根据实际情况进行配置
SQL Studio 添加数据源
SQL Studio 配置数据源
测试数据源信息如下,请根据实际情况进行配置
SQL Studio 简单操作
新建查询
导出数据
如需了解 SQL Studio 更多详细操作,请移步如下地址
http://www.maicongs.com/#/home/web
麦聪软件的个人空间-麦聪软件个人主页-哔哩哔哩视频
关键词: 账号密码