问题描述
接上篇,如图所示,在我尝试将docker界面中的GUI图形界面转发到本地计算机时,出现了问题。
Linux服务器上能够正常进行X11的转发,但是一直尝试如何将docker镜像中的Xclock展示到本地计算机
查遍全网没有类似的背景,所以探索了很久。
问题关键
问题的关键在于如何正确理解DISPLAY的作用,以及通过ssh -X打开图形转发。
#运行docker的时候需要进行端口的绑定,将你的端口绑定到22端口才能正常登陆。
docker run -p 50003:22 -e DISPLAY=$DISPLAY
#在docker环境中,开启ssh服务
service ssh start
接着需要在另一个窗口,从服务器端ssh -X docker镜像
#在LINUX服务器,-X表示启动图形转发
ssh -X root@172.17.0.2 -p 50003
我们分别输出并查看各机器上的DISPLAY
echo $DISPLAY
docker: localhost:11.0
Linux: 127.0.0.1:11.0
local: 127.0.0.1:10.0
最终图形将先从Docker镜像转发到Linux服务器,Linux服务器再将图形转发到local,最终完成图形的可视化展示。