Docker:使用远程X服务器运行应用程序

时间:2016-06-03 09:29:09

标签: docker x11 xvfb

我目前在Xvfb和X11VNC的容器中运行我的应用程序。这一切都很好用,我可以通过任何VNC客户端看到GUI。 但是,我想在容器A中运行Xvfb和X11VNC,在容器B中运行我的应用程序。

容器A以例如 docker run -it --rm --name x11 -p 6000-6100:6000-6100 myimagewithXvfb

在B中我设置为DISPLAY = A,指向容器A中的X服务器(XVfb)。

在B中我开始例如xeyes,但我收到错误: root @ a1ec4b67e98f:/#xeyes 错误:无法打开显示:10.1.0.1 root @ a1ec4b67e98f:/#echo $ DISPLAY 10.1.0.1

同样使用10.1.0.1:0并不重要。

无论如何,问题是如何让它工作,如果可能的话?

1 个答案:

答案 0 :(得分:0)

如果没有更多信息,很难确定,但我的猜测是你的问题与X权威有关。您可以使用xhost命令允许客户端在没有访问控制的情况下进行连接:

A> xhost +
B> export DISPLAY=10.1.0.1:0
B> xeyes

更安全的方法是在容器A ssh上容器B,如下所示:

A> ssh -Y B
B> xeyes

(此处您不需要手动设置DISPLAY环境变量,因为它是由SSH自动设置的。)