How to forward Docker for Mac to X11?

Using Docker for Mac 1.12 (stable) and OS X 10.11.5 (15F34), I’m attempting to make one of my containers forward to X11.

First, I install XQuartz from my bash shell:

  • How to create and download image from Docker container running in Docker Swarm
  • How to set Java heap size (Xms/Xmx) inside Docker container?
  • Create files / folders on docker-compose build or docker-compose up
  • Logstash: If-based Drop On Event After Split
  • ERROR: for couchbase-db driver failed programming external connectivity
  • Does Docker reduce or mitigate the need for Puppet/Chef et al?
  • $ 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)
    

    Then I continue with setting up XQuartz…

    open -a XQuartz
    

    In the XQuartz Preferences -> Security tab, I enable “Allow connections from network clients”.

    Then I am supposed to run xhost + $MY_IP_ADDRESS in my bash shell, but all I get is this error:

    xhost:  unable to open display ""
    

    In the end, all guides I’m reading says I should run my container like this:

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

    …but that doesn’t work. In my particular container, I get this error:

    ... cannot connect to X server 10.0.0.131:0
    

    What am I doing wrong?

  • Appending to PATH in a Windows Docker container
  • Docker virtual server
  • Docker Ubuntu Build File Errors
  • How to run a cron job inside a docker container?
  • Multiple Docker images filesystem scan
  • Send sms using kannel & smmpsim
  • 2 Solutions collect form web for “How to forward Docker for Mac to X11?”

    Turns out there’s a bug in XQuartz 2.7.9.

    When using XQuartz 2.7.10_beta2, it works.

    I have xQuartz 2.7.11 installed on Mac OS.

    I was getting the following error

    <program>: cannot connect to X server <ip>:0

    when trying to run docker container. I tried downgrading XQuartz but it still didn’t fix my issue.

    A crucial piece to to the setup is to add your ip access control list for xhost.

    xhost + $(ipconfig getifaddr en0)

    After adding the ip to xhost, everything works. There is no need to downgrade Xquartz version.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.