[CG] 用 Docker 配置 Ubuntu OpenGL 环境
2024-09-08 17:00:10
成功在 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
然后再编译就可以了,然后执行我们编译的程序,成功绘制。
最新文章
- Infinite V2 Release Note
- [转]Linq中使用Left Join
- Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
- 类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。
- MYSQL远程登录权限设置(转)
- html5碰撞小球模拟
- 使用DataList 分页方法
- python 10 min系列三之小爬虫(一)
- IIS6,IIS7中查看w3wp进程
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n*log(n)), 思路:O(n)尺取法
- android apk 的root 权限和USB adb 权限的差别
- 面向对象之三个基本特征(javaScript)
- tensorboard基础使用
- SQLite使用笔记
- VNF网络性能提升解决方案及实践
- SSM_CRUD新手练习(10)返回分页的JSON数据
- 全面解析Java类加载器
- oracle中字符串与表数据拼接的用法--“||”
- Java - 28 Java 泛型
- hihocoder 1320 - 压缩字符串 - [hiho一下160周]
热门文章
- day38-IO流05
- [Python]-opencv-python模块(cv2)-图片读取和格式转换
- Openstack Neutron : 安全
- innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
- KubeOperator界面,集群详情中的存储,存储提供商
- Beats:运用 Filebeat 来对微服务 API 进行分析
- Logstash &; 索引生命周期管理(ILM)
- google浏览器个人常用快捷键
- 如何0到1构建DevOps?
- SECS半导体设备通讯-2 HSMS通信标准