ubuntu下docker容器中开启图形界面:
转载自:https://blog.csdn.net/ericcchen/article/details/79253416
方法一:开启SSH服务
详细开启流程:https://www.cnblogs.com/xingyunfashi/p/8857093.html
利用SSH隧道传输图形内容
方法二:启动容器时添加配置选项,使用volume挂载宿主X11(推荐这种方法)
1)首先,在主系统里运行
$ sudo apt-get install x11-xserver-utils
$ xhost +
这两句的作用是开放权限,允许所有用户
2)在启动docker容器时,添加选项如下:
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE IMAGESNAME /bin/bash
注意,这种方法要求容器使用用户不得是root ,在DockerFile的时候可以加上
方法三:已经启动的容器修改系统参数
1)使用 ifconfig 查看主机和docker的IP地址
例如:主机的IP为 xxx
docker 的IP为YYY
2)docker 中
export DISPLAY= XXX #把环境变量映射到主机IP
3.)主机中
sudo gedit /etc/lightdm/lightdm.conf #增加一行 xserver-allow-tcp=true
sudo systemctl restart lightdm
xhost + #注意加号前应有空格
以后每次重新开机时,还是要在主机里运行一下 xhost +,在docker里运行一下export DISPLAY= XXX 。
这种方式用的是IP地址,在系统没联网时,网卡就没有分配的IP地址了,这种方法就行不通了
测试是否配置成功:
在docker容器中运行