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