How to use MOA in Docker

by Walid Gara on April 20, 2019 using MOA 2019.04.0

Massive Online Analysis (MOA) is also available in Docker. Docker images are located in the waikato/moa Docker Hub repository.

You can download the image and start using MOA. Image releases are tagged using the following format:

Tags Description
latest MOA GUI image
devel MOA GUI image that tracks Github repository

First, you need to install Docker in your machine.

Download MOA Docker image

$ docker pull waikato/moa:latest

For Linux:

You need to expose your xhost so that the Docker container can display MOA GUI.

$ xhost +local:root

Start MOA Docker container.

$ docker run -it --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" waikato/moa:latest

For windows 10:

You need to install VcXsrv and configure it, so Docker can acces to X11 display server. You can follow this tutorial.

Then, you have to get your local ip address. Run this command in the Command Prompt

$ ipconfig

Example of local ip address: 10.42.0.94

Then start MOA GUI container where <ip_address> is your local ip address.

$ docker run -it --privileged -e DISPLAY=<ip_address>:0.0 -v /tmp/.X11-unix:/tmp/.X11-unix waikato/moa:latest
```</ip_address>

#### For MacOS

You need to install [XQuartz](https://www.xquartz.org/) and allow connections from network clients. See this [tutorial](https://sourabhbajaj.com/blog/2017/02/07/gui-applications-docker-mac/#install-xquartz).

Then, you have to get your local ip address.
```bash
$ ifconfig

Expose your xhost where <ip_address> is your local ip address.

bash
$ xhost + <ip_address>

Start MOA GUI container

bash
$ docker run -d -e DISPLAY=<ip_address>:0 -v /tmp/.X11-unix:/tmp/.X11-unix waikato/moa:latest