LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 脚本编程 >

在Docker中运行OpenOffice

时间:2015-04-22 09:15来源:未知 编辑:linuxeye 点击:
Docker与GUI应用 Docker是开源的容器技术,容器是比虚拟机更轻量的虚拟化技术,优势是隔离软件的运行环境并且最小化其额外的开销。隔离运行环境的好处之一就是可以轻易创建干净的开

Docker与GUI应用

Docker是开源的容器技术,容器是比虚拟机更轻量的虚拟化技术,优势是隔离软件的运行环境并且最小化其额外的开销。隔离运行环境的好处之一就是可以轻易创建干净的开发环境,而在我第一次Docker分享中,大家最关心的问题就是“Docker可以运行GUI应用吗”。

Docker作为虚拟化技术,并没有改变进程的运行方式和图像显示协议,因此Docker是可以运行GUI应用的。就像在裸机中要运行图形界面,我们有必要了解下Linux的X Window协议。在Linux中,一个GUI应用的显示都经过X Window这个C/S模型,简单概括就是X Server在后台运行,接受X Client的请求,并将显示的结果通过特定安全的协议返回。

运行Docker GUI应用的原理与之类似,下面将一步步带领大家创建基于Docker的图形化程序。
 

Dockerized OpenOffice

Dockerized-openoffice就是运行在容器内的GUI应用,执行命令docker run -d -p 6080:6080 tobegit3hub/dockerized-openoffice然后在浏览器打开http://127.0.0.1:6080/vnc.html就可以看到图形界面的OpenOffice应用。

其实现玄机就在Dockerfile中,代码中有安装apt-get install -y lxde x11vnc xvfb这一步,就是安装我们前面提到的X Server,这样通过特定的VNC客户端就可以访问这个GUI应用了。这里我们选择noVNC客户端来连接我们的Dockerized应用,导入noVNC源码,启动服务器,打开6080端口,这样我们docker run以后就可以通过浏览器来访问GUI应用了。

实际上这里我们把整个Linux桌面管理器都装了,因此运行Firefox等一切应用都是可能的。
原文:http://chendihao.cn/docker-gui-application/

------分隔线----------------------------
标签:OpenOfficedocker
栏目列表
推荐内容