[CG] 用 Docker 配置 Ubuntu OpenGL 环境

时间:2022-11-26 13:06:50

成功在 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 git@github.com: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

然后再编译就可以了,然后执行我们编译的程序,成功绘制。