2016-07-31 134 views
5

使用Docker for Mac 1.12 (stable)和OS X 10.11.5(15F34),我试图让我的一个容器转发到X11。如何将Docker for Mac转发至X11?

首先,我从我的bash shell安装XQuartz:

$ brew cask install xquartz 

==> Downloading https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.9.dmg 
######################################################################## 100.0% 
==> Verifying checksum for Cask xquartz 
==> Running installer for xquartz; your password may be necessary. 
==> Package installers may write to any location; options such as --appdir are ignored. 
Password: 
==> installer: Package name is XQuartz 2.7.9 
==> installer: Installing at base path/
==> installer: The install was successful. 
    xquartz staged at '/usr/local/Caskroom/xquartz/2.7.9' (73M) 

然后我继续设置XQuartz ...

open -a XQuartz 

在XQuartz首选项 - >安全选项卡,启用“允许来自网络客户端的连接“。

那么我应该在我的bash shell中运行xhost + $MY_IP_ADDRESS,但我得到的是这样的错误:

xhost: unable to open display "" 

最后,所有导游我读说我应该跑我的容器是这样的:

docker run -e DISPLAY=$MY_IP_ADDRESS:0 -v /tmp/.X11-unix:/tmp/.X11-unix DOCKER_IMAGE 

...但那不起作用。在我的特定容器中,出现此错误:

... cannot connect to X server 10.0.0.131:0 

我在做什么错?

回答

2

原来在XQuartz 2.7.9中有一个错误。

当使用XQuartz 2.7.10_beta2时,它工作。

+0

我有与版本2.7.11相同的问题。 我卸载并将其降级到2.7.10_beta2,一切终于奏效。我只是重新启动(而不是仅仅注销),并开始发挥作用 – revolutionary

+0

我有一个heckuva时间,这...降级等。原来的问题是一个简单的重新启动是必要的。现在在XQuartz 2.7.11上完美运行,在MacOS 10.13.3上使用Docker CE版本17.12.0。 –

1

我在Mac OS上安装了xQuartz 2.7.11。

试图运行码头容器时,出现以下错误 <program>: cannot connect to X server <ip>:0 。我试图降级XQuartz,但它仍然没有解决我的问题。

设置的一个关键部分是为xhost添加您的ip访问控制列表。

xhost + $(ipconfig getifaddr en0)

添加IP到xhost的后,一切正常。没有必要降级Xquartz版本。

+0

2.7.11对我不起作用(macOS Sierra 10.12.4 + Docker CE 17.03.1)。我不得不降级到2.7.10_beta2才能使其工作。 – Coyotwill

相关问题