docker容器怎么运行软件?docker本身的工作模式是命令行的,因为主要的使用场景可能是做服务器后端方面的比较多。 不过有时候,我们会在docker容器里运行一些图形界面的软件,这个时候就需要Docker “可视化”的问题。
可以把docker镜像看做一台没配显示器的电脑,程序可以运行,但是没地方显示。 linux目前的主流图像界面服务X11 支持 客户端/服务端(/Server)的工作模式,只要在容器启动的时候,将 『unix:端口』或『主机名:端口』共享给docker,docker 就可以通过端口找到显示输出的地方,和linux系统共用显示。
1)在主系统里运行
$ sudo apt-get install x11-xserver-utils $ xhost +
这两句的作用是开放权限,允许所有用户,当然包括docker,访问X11 的显示接口
2)在启动docker容器时,添加选项如下:
-v /.X11-unix #共享本地unix端口 -e DISPLAY=unix$DISPLAY #修改环境变量DISPLAY -e GDK_SCALE #这两个应该是与显示效果相关的环境变量 -e GDK_DPI_SCALE
最终的启动命令类似这样
$ docker run -d -v /localtime:ro -v /.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE --name libreoffice /libreoffice
这样启动后的容器,运行有图形界面的程序就可以自由显示,和在本地显示一样了。
这样操作已经十分方便了。需要注意的是,每次重新开机,需要在本机操作一次
xhost +
打开权限。
融亿云的容器云是通过docker技术,在集群服务器上部署容器服务实现,安全可靠,拥有上万Linux镜像,功能强大、轻量弹性,可轻松作集群服务,自由轻松搭建私有网络。
高可用的的容器云