This is a short guide explaining how to run GUI applications from within Docker on Mac. This uses XQuartz to enable to set the
DISPLAY
variable within the container.Install XQuartz
![Download Download](/uploads/1/2/6/3/126370121/132688768.jpg)
You can install XQuartz using homebrew with
brew cask install xquartz
or directly from the website here. At the time of writing, I had 2.7.11
installed on my machine with OSX El Capitan. After installing XQuartz restart your machine.Install Docker for Mac
XQuartz became the default X11 implementation for many OS X users after the 10.8 iteration, when Apple decided to completely remove the X11 server and client libraries from the default OS X. After installing XQuartz restart your machine. Install Docker for Mac. Install docker using brew cask install docker or directly from the website here. Start XQuartz from command line using open -a XQuartz. In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients. Find XQuartz software downloads at CNET Download.com, the most comprehensive source for safe, trusted, and spyware-free downloads on the Web. Providing support for X11 on OS X. The XQuartz project was originally based on the version of X11 included in Mac OS X v10.5. There have been multiple releases of XQuartz with fixes, support for new OS X features, and additional refinements to the X11 experience.
Install docker using
brew cask install docker
or directly from the website here.Run XQuartz
Start XQuartz from command line using
open -a XQuartz
. In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked:Host Machine IP
IP=$(ifconfig en0 | grep inet | awk '$1'inet' {print $2}')
should set the IP
variable as the ip of your local machine. If you’re on wifi you may want to use en1
instead of en0
, check the value of the variable using echo $IP
.Now add the IP using Xhost with
xhost + $IP
. If the xhost command is not found check /usr/X11/bin/xhost
as that might not be in your path.Running a container
Is Xquartz Safe For Mac
You can now try running firefox in your container with:
Xquartz For Mac 10.10
or run octave using: