天天看点

UBUNTU 下面的DOCKER使用图形界面

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 +

UBUNTU 下面的DOCKER使用图形界面

这两句的作用是开放权限,允许所有用户

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的时候可以加上

UBUNTU 下面的DOCKER使用图形界面

方法三:已经启动的容器修改系统参数

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容器中运行

UBUNTU 下面的DOCKER使用图形界面