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

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

[CG] 用 Docker 配置 Ubuntu OpenGL 环境的更多相关文章

  1. Mac上通过docker配置PHP开发环境

    这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu. ...

  2. Docker教程:使用docker配置python开发环境

    http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...

  3. 使用docker配置laravel5.5环境

    简介 简述一下我用docker来配置laravel环境 软件镜像 php:7.2-rc-fpm-alpine mysql:5.6 nginx:1.12.2-alpine 配置环境 Ubuntu:16. ...

  4. 配置Ubuntu开发环境

    前言 新买了一台ThinkPad E431,主要看中了硬盘500G和7200转/分钟的速度,因此准备从x220上把工作环境迁移到新买的笔记本上. 为什么不要公司的电脑,是由于160G的ssd硬盘实在是 ...

  5. VS 2013 配置份openGL环境

    几个要素: 1.  在E:\Microsoft Visual Studio 12.0\VC\include下创建GL文件夹,放入glut.h头文件. 2.  C:\Windows\System32下要 ...

  6. 用 Docker 快速配置前端开发环境

    来源于:http://dockone.io/article/1714 今天是你入职第一天. 你起了个大早,洗漱干净带着材料去入职. 签了合同,领了机器,坐到工位,泡一杯袋装红茶,按下开机键,输入密码, ...

  7. 开发环境配置--Ubuntu+Qt4+OpenCV(一)

    同系列的文章 1. 开发环境配置--Ubuntu+Qt4+OpenCV(一) 2. 开发环境配置--Ubuntu+Qt4+OpenCV(二) 3. 开发环境配置--Ubuntu+Qt4+OpenCV( ...

  8. Linux(Ubuntu) OpenGL 开发环境

    Linux(Ubuntu) OpenGL 开发环境 在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFW 和 GLAD. ...

  9. Ubuntu下配置Hyperledger Fabric环境

    在win10系统的台式机上安装配置Hyperledger Fabric环境 安装Ubuntu 16.04 双系统 镜像下载地址:https://www.ubuntu.com/download/desk ...

  10. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

随机推荐

  1. Windows客户端DNS工作原理

    通常大家对Windows客户端DNS的配置存在多个误区. 误区一,配置1个内网DNS,1个外网DNS.解析内网的时候用内网DNS,解析外网的时候用外网. 电脑怎么知道哪个是内网?哪个是外网?我们内部的 ...

  2. Kubernetes 控制器

    在实际使用的时候并不会直接使用 Pod,而是会使用各种控制器来满足我们的需求,Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望状态保持一致,它们就是 Kubernetes 的大脑. ...

  3. k8s日志架构和基本日志

    如果一个容器崩溃了.一个Pod被驱逐了.或者一个节点停机了,您通常仍然需要访问您应用程序的日志.为此,您需要一个生命周期与节点.Pod.容器相对独立的存储空间来存储应用程序日志和系统日志. 此时,我们 ...

  4. Elasticsearch索引和查询性能调优的21条建议

    Elasticsearch部署建议 1. 选择合理的硬件配置:尽可能使用 SSD Elasticsearch 最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能.使用SSD(PCI-E接口SSD卡/SA ...

  5. 12. Fluentd部署:多Workers进程模式

    介绍如何使用Fluentd的多worker模式处理高访问量的日志事件.此模式会运行多个worker进程以最大利用多核CPU. 原理 默认情况下,一个Fluentd实例会运行一个监控进程和一个工作进程. ...

  6. 【BotR】CLR堆栈遍历(Stackwalking in CLR)

    前言 在上一篇文章CLR类型系统概述里提到,当运行时挂起时, 垃圾回收会执行堆栈遍历器(stack walker)去拿到堆栈上值类型的大小和堆栈根.这里我们来翻译BotR里一篇专门介绍Stackwal ...

  7. 分布式ID详解(5种分布式ID生成方案)

    分布式架构会涉及到分布式全局唯一ID的生成,今天我就来详解分布式全局唯一ID,以及分布式全局唯一ID的实现方案@mikechen 什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消 ...

  8. 使Squashfs可写的办法

    yiyi@yiyi-HP-Pavilion-Notebook:~/Applications/Office2016$ pwd /home/yiyi/Applications/Office2016 yiy ...

  9. Node.js(四)json

    npm init -y(初始化项目) npm install express(引入express) npx express-generator -e(自动生成模板.添加对 ejs 模板引擎的支持) n ...

  10. 洛谷P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G (tarjan缩点)

    在本题中很明显,给你一个有向图,要用tarjan缩点. 缩点后,一头牛要受到所有牛的欢迎,那么该点的出度要为0,这是容易证明的:如果该点还有出度,比如a连向b,那么a不受到b的欢迎.所以我们要找出度为 ...