前言
這是一個對目前某些暫時在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 許可協議。轉載請注明出處!
「喜歡這篇文章,您的關注和贊賞是給作者最好的鼓勵」
關注作者
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




