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