成功在 MacOS 的 Docker 中運行 OpenGL 程序並顯示這裏記錄一下:
我用的是 https://hub.docker.com/r/thewtex/opengl 這個鏡像非常好,大部分工作都做好了,這裏用的是基於 CPU 的渲染,也就是軟件渲染,沒有利用到顯卡,
假設我們已經安裝好了 Docker Desktop,我們先運行,然後用命令拉取鏡像,這裏 Tag 選擇 ubuntu2004 比較新,默認的 latest 的鏡像比較老了。
docker pull thewtex/opengl:ubuntu2004
在我們拉去完鏡像後,這個時候還得配合 git 倉庫的裏腳本才能正確使用鏡像,git 倉庫在:https://github.com/thewtex/docker-opengl
git clone [email protected]:thewtex/docker-opengl.git
其實看 git 倉庫的 readme 文件,應該就知道怎麼回事了。運行給個拉下來的 git 倉庫中的 run.sh 腳本,
sh {gitpath}/run.sh -i thewtex/opengl:ubuntu2004
-i 的意思是指定鏡像的版本,默認是 latest 比較舊我們不用。啓動後,會自動掛載我們當前終端所在的目錄到 /home/user/work 目錄下。
當成功運行腳本後,我們在終端可以看到信息:
Setting up the graphical application container...
Point your web browser to http://localhost:6080
我們用現代瀏覽器,我用的是 Chrome,打開,即可進入圖形界面,右鍵可以打開模擬終端,進行自己的操作即可。我用 glfw 開了一個窗口,用 g++ 編譯的時候,提示找不到 X11 相關的文件,這個鏡像裏沒有裝 X11 相關的開發文件,我們可以裝一下。
sudo apt-get update
sudo apt-get install xorg-dev
然後再編譯就可以了,然後執行我們編譯的程序,成功繪製。