导读docker容器怎么运行软件?docker本身的工作模式是命令行的,因为主要的使用场景可能是做服务器后端方面的比较多。 不过有时候,我们会在docker容器里运行一些图形界面的软件,这个时候就需要解决

docker容器怎么运行软件?docker本身的工作模式是命令行的,因为主要的使用场景可能是做服务器后端方面的比较多。 不过有时候,我们会在docker容器里运行一些图形界面的软件,这个时候就需要解决Docker “可视化”的问题。

可以把docker镜像看做一台没配显示器的电脑,程序可以运行,但是没地方显示。 linux目前的主流图像界面服务X11 支持 客户端/服务端(Client/Server)的工作模式,只要在容器启动的时候,将 『unix:端口』或『主机名:端口』共享给docker,docker 就可以通过端口找到显示输出的地方,和linux系统共用显示。

1)在主系统里运行

$ sudo apt-get install x11-xserver-utils

$ xhost +

这两句的作用是开放权限,允许所有用户,当然包括docker,访问X11 的显示接口

2)在启动docker容器时,添加选项如下:

-v /tmp/.X11-unix:/tmp/.X11-unix  #共享本地unix端口
-e DISPLAY=unix$DISPLAY  #修改环境变量DISPLAY
-e GDK_SCALE  #这两个应该是与显示效果相关的环境变量
-e GDK_DPI_SCALE 

最终的启动命令类似这样

$ docker run -d 

-v /etc/localtime:/etc/localtime:ro 
-v /tmp/.X11-unix:/tmp/.X11-unix 
-e DISPLAY=unix$DISPLAY 
-e GDK_SCALE 
-e GDK_DPI_SCALE 
--name libreoffice 
jess/libreoffice

这样启动后的容器,运行有图形界面的程序就可以自由显示,和在本地显示一样了。

这样操作已经十分方便了。需要注意的是,每次重新开机,需要在本机操作一次

xhost +

打开权限。

旺隆创业网的容器云是通过docker技术,在集群服务器上部署容器服务实现,安全可靠,拥有上万Linux镜像,功能强大、轻量灵活,可轻松作集群服务,自由轻松搭建私有网络。

高性价比的容器云产品链接 http://www.dlwanglong.cn/paas/container/