+-
再见 VMware 虚拟机!Docker 直接运行桌面

平时用 Docker 跑个数据库、Web 服务什么的挺顺手,但要在容器里开个带界面的程序?听起来就不太现实。

前几天在 GitHub 上看到一个叫x11docker的项目,好奇心驱使下载下来试了试,没想到真的挺牛的。

它不光能跑单个图形程序,连整套桌面环境都能塞进容器里,关键是安全性比直接装在系统上还要好。

再见 VMware 虚拟机!Docker 直接运行桌面

图形程序住进了 “隔离间”

我先拿个简单的文本编辑器试手,按照 README 的说明只需敲了一行命令:

x11docker--wayland--gpux11docker/xwayland

再见 VMware 虚拟机!Docker 直接运行桌面

没几秒钟,熟悉的编辑器窗口就弹了出来,试了下点击、输入、菜单操作都正常。

更神奇的地方,这个程序其实完全跑在一个独立的容器里:就算它出了什么幺蛾子,也伤不到我的主系统。

再见 VMware 虚拟机!Docker 直接运行桌面

x11docker 的思路其实挺巧妙,它专门启动一个 X 服务器给容器用,而不是让容器直接访问主机的显示系统。

这样既解决了 Docker 本身不支持图形界面的问题,又避免了传统方案可能带来的安全隐患。就好像给每个应用都配了个 “专属显示器”。

完整桌面也能 “装进盒子里”

更好玩的是它的--desktop功能,能够启动一个完整的 Xfce 桌面,输入如下命令:

x11docker --desktop x11docker/xfce

等了几秒,一个独立的桌面窗口就打开了,里面该有的都有 —— 文件管理器、终端、系统设置,操作起来和真正的桌面环境没啥区别,但启动速度比虚拟机快多了。

再见 VMware 虚拟机!Docker 直接运行桌面

这功能对我们来说特别实用。比如想体验一下不同的桌面环境,或者需要一个 “干净” 的工作环境做实验,都能快速搞定。

用完直接关掉,下次再开又是崭新的状态,不用担心各种配置冲突的问题。

再见 VMware 虚拟机!Docker 直接运行桌面

硬件和外设支持

x11docker 在硬件支持方面考虑得比较全面。--gpu选项允许容器程序使用主机的显卡进行硬件加速,这对 OpenGL 应用和图形密集型程序很重要。

项目还提供了多种外设和功能的支持选项:

再见 VMware 虚拟机!Docker 直接运行桌面

音频输出--pulseaudio--alsa参数支持在容器中播放声音;

剪贴板共享--clipboard实现主机和容器之间的复制粘贴功能;

文件系统访问--share可以将主机目录挂载到容器中;

外设支持--webcam支持摄像头,--printer支持打印机访问。

安装步骤

安装过程不复杂,按照 README 文件的说明三步搞定:

1、直接下载安装脚本:

curl-fsSL https://raw.githubusercontent.com/mviereck/x11docker/master/x11docker | sudobash-s----update

2、拉取一个基础镜像(推荐):

docker pull x11docker/xserver

3、就可以开始使用了。

再见 VMware 虚拟机!Docker 直接运行桌面

写在最后

x11docker 提供了一种在容器中运行图形界面应用的实用解决方案。

通过独立的显示服务器设计,它既满足了容器化图形程序的需求,又保持了较好的安全隔离性。

对于需要测试不同软件环境,或者希望将图形应用与主系统隔离的朋友来说,这是一个值得尝试的工具。

总体而言,该项目在图形程序容器化领域提供了一个相对成熟的解决方案。

GitHub 项目地址:https://github.com/mviereck/x11docker

今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!

往期热文

  • 再见 Kindle!高颜值电子书阅读神器,好用!

  • 比 Everything 更好用的开源平替,来了!

  • 一键部署个人云电脑,百万用户产品开源了!