openGauss
开源数据库
openGauss社区官网
开源社区
在windows中使用容器化的mogeaver
2022-09-09openGauss
【openGauss】在 windows 中使用容器化的 mogeaver
前言
这是一个对目前某些暂时在 linux 专享的功能,在 windows 上实现的探索,不建议在生产中使用。
思路
- 目前 windows10/11 上支持搭建 docker 环境,而不需要使用 linux 虚拟机
- windows 上的 docker 可以借用 VcXsrv 或 xming 等 X11 工具,来将容器中的图形化界面显示到 windows 上
- mogeaver 的 linux 版本是用的 gtk 做的 GUI
所以,理论上,我们可以找个操作系统的 docker 镜像,装好 gtk 和 jdk 环境,把 linux 版本的 mogeaver 放进去,然后在 windows 上用 VcXsrv 设置一个显示器,启动容器,把容器的 dispaly 设置到 windows 上,就能在 windows 上使用 linux 版本的 mogeaver 了。
需要解决的问题
- 最好能找到一个带 gtk 环境的 docker 镜像,这样就不需要自己从头开始构建了(之前没接触过 gtk 开发,为了省时间。。。)
- 一般精简的 docker 镜像是没有中文字体支持的,因此 mogeaver 就也不能显示中文字体,而国内的 windows 的用户应该还是更愿意使用中文界面
- 默认在 mogeaver 中设置好 gs_dump/gsql 等客户端工具的目录,减少用户配置环境的操作
- 用户配置文件信息需要持久化到宿主机上,防止下次启动容器配置丢失
- 最好每次在用 mogeaver 时创建容器,关闭的时候自动删除容器,节约资源
- 默认 yum 仓库源有时候无法连接,需要有个备用源,否则可能构建镜像失败
半成品
项目地址: https://gitee.com/darkathena/mogeaver-docker
使用说明
- 先确保本地 windows 已安装 docker-desktop,并已经启动该服务
https://www.docker.com/get-started/
- 下载 VcXsrv
https://sourceforge.net/projects/vcxsrv/
- 安装 VcXsrv,一路下一步,然后打开 XLaunch,一路下一步
- 下载 mogdb 和 mogeaver 压缩包,放到本文件夹
wget https://cdn-mogdb.enmotech.com/mogeaver/22.1.5/mogeaver-ce-22.1.5-linux.gtk.x86_64.tar.gz
wget https://cdn-mogdb.enmotech.com/mogdb-media/3.0.1/MogDB-3.0.1-CentOS-x86_64.tar.gz
- 进入本目录,执行构建镜像命令
docker build -t mogeaver-docker:latest .
- 构建完成后,执行 run_mogeaver.bat 即可启动 mogeaver
个性化修改说明
- 默认用户配置路径在 d:\MogeaverData ,可以通过修改 run_mogeaver.bat 文件变更
- 默认 gs_dump 导出文件路径在 d:\dump_data ,可以通过修改 run_mogeaver.bat 文件变更
- 如果需要中文字体支持,请取消 dockerfile 中关于“Chinese font support”部分的注释
- 如果需要更换国内 yum 源,请取消 dockerfile 中关于“change yum repo”部分的注释
特点
- 已集成 openGauss 客户端命令行工具,比如 gsql/gs_dump 等,可以通过 mogeaver 相关功能调用
- 关闭程序即删除容器,节省内存资源
使用截图
构建
软件打开界面
执行备份
生成的文件
遗留问题
由于不明原因,一段时间不操作,容器版本的程序就会闪退。。。
后记
在做这个东西的时候,了解到了目前很多东西都可以容器化,后来又想到了,能不能封装一个 gs_dump.exe 调用 linux 容器中的 gs_dump,这样就能用 windows 版本的 mogeaver 来调用 gs_dump 了。以后有时间再看怎么弄吧。
- 本文作者: DarkAthena
- 本文链接: https://www.darkathena.top/archives/mogeaver-on-docker
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!