Running XBeaver with Docker

XBeaver can be downloaded and compiled with make on linux. However, with my linux of choice being Arch Linux and my laptop being a Macbook Pro I found myself struggling to compile it. Arch was just too new, and my Mac wasn’t Linux.

I tried using a distribution such as CentOS within Virtualbox on my Mac which worked but was slow and regularly stopped working. In the end I came up with a much better solution by running XBeaver in a Docker Container on my Mac. Docker works with Windows and Linux so the following should also work for those platforms with perhaps only minor changes.

Docker can be downloaded and insulated from and once installed the following command issued from the Mac commands prompt will download and run the xbeaver container.

   $ docker pull johnnewcombe/xbeaver

The following command will run the docker image and bind the local ‘/Users/john/Gemini80′ folder to the Docker images “/root/Gemini80’ folder. It will also allow the image to be accessed via VNC or HTML

   $ docker run -d -p 5901:5901 -p 6901:6901 -v /Users/john/Gemini80/xbeaver:/root/xbeaver johnnewcombe/xbeaver

Connect using a VNC client on the Mac using the address ‘’localhost :5901’’ or via a browser on ‘’localhost:6901’’. The password is vncpassword.

The xbeaver compiled binary and source code is located in /root/xbeaver and can be run from there, although I find it convenient to copy the compiled binary xbeaver and *.cfg files to the /root/Gemini80 folder as this is bound to the folder on my Mac. This allows config files and disks etc. to be managed directly with the Mac.

You can run the image to get a bash shell use the following command, however, a shell can be obtained by running terminal after connecting with VNC or a Browser as above.

   $ docker run -it -p 5901:5901 -p 6901:6901 johnnewcombe/xbeaver bash

Building the image from scratch as described below will download and compile the latest version of XBeaver and place it in the /root/xbeaver directory within the image the ‘’xbeaver’’ can then be copied to the bound folder which appears both within the container and on my Mac. In my case this is /root/xbeaver within the container and /Users/John/Gemini80/xbeaver on my Mac.

More details of the image can be found on Docker Hub see

Please note that my image is built upon the consol/centos-icewm-vnc container and my thanks go to the developers of this.