成功在 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

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

最新文章

  1. Infinite V2 Release Note
  2. [转]Linq中使用Left Join
  3. Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
  4. 类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。
  5. MYSQL远程登录权限设置(转)
  6. html5碰撞小球模拟
  7. 使用DataList 分页方法
  8. python 10 min系列三之小爬虫(一)
  9. IIS6,IIS7中查看w3wp进程
  10. 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n*log(n)), 思路:O(n)尺取法
  11. android apk 的root 权限和USB adb 权限的差别
  12. 面向对象之三个基本特征(javaScript)
  13. tensorboard基础使用
  14. SQLite使用笔记
  15. VNF网络性能提升解决方案及实践
  16. SSM_CRUD新手练习(10)返回分页的JSON数据
  17. 全面解析Java类加载器
  18. oracle中字符串与表数据拼接的用法--“||”
  19. Java - 28 Java 泛型
  20. hihocoder 1320 - 压缩字符串 - [hiho一下160周]

热门文章

  1. day38-IO流05
  2. [Python]-opencv-python模块(cv2)-图片读取和格式转换
  3. Openstack Neutron : 安全
  4. innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
  5. KubeOperator界面,集群详情中的存储,存储提供商
  6. Beats:运用 Filebeat 来对微服务 API 进行分析
  7. Logstash & 索引生命周期管理(ILM)
  8. google浏览器个人常用快捷键
  9. 如何0到1构建DevOps?
  10. SECS半导体设备通讯-2 HSMS通信标准