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 +