如何将Docker for Mac转发到X11?
使用Docker for Mac 1.12(stable)和OS X 10.11.5(15F34),我试图让我的一个容器转发到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首选项 – >安全选项卡中,启用“允许来自networking客户端的连接”。
那么我应该在我的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
我究竟做错了什么?
原来在XQuartz 2.7.9中有一个错误。
当使用XQuartz 2.7.10_beta2时,它工作。
我在Mac OS上安装了xQuartz 2.7.11。
我得到以下错误<program>: cannot connect to X server <ip>:0
试图运行docker集装箱时。 我试图降级XQuartz,但它仍然没有解决我的问题。
一个关键的一步到设置是添加您的IP访问控制列表为xhost。
xhost + $(ipconfig getifaddr en0)
添加到xhost的IP后,一切正常。 没有必要降级Xquartz版本。