docker 容器里显示图形
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 +