如何使用Docker从Window容器中运行GUI应用程序?

pgh*_*pgh 5 window docker boot2docker docker-compose

我有一个基于QT的GUI应用程序,我在docker(centos image)中编译.我可以从我的Linux机器(OpenSUSE 13.2)中的Centos图像中启动GUI应用程序按照此博客的说明" http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker "

同样的事我想通过window.I安装窗口docker.我使用我的GUI应用程序加载了所需的centos图像,并通过终端尝试使用容器启动GUI.它给错误说"gui:无法连接到X服务器"

任何想法或解决方案.

Von*_*onC 3

在docker issues 8710上有类似的讨论,但针对 MacOS:

一个有点粗略的方法来做到这一点:

开始在 TCP 端口上socat公开本地套接字xquartz

socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
Run Code Online (Sandbox Code Playgroud)

(注意:对于 Windows,您至少需要:

将显示内容传递给容器(假设 virtualbox 主机在 192.168.59.3 上可用):

 docker run -e DISPLAY=192.168.59.3:0 jess/geary
Run Code Online (Sandbox Code Playgroud)

(这在公共网络上是不安全的,请向 socat 添加bindsu选项range来限制访问。)