Skip to content
Tambet Matiisen edited this page Jan 10, 2017 · 8 revisions

Running Malmo from Docker image

  1. Pull the docker image by issuing
docker pull quay.io/tambet/malmo:0.18

or build it yourself by executing in docker folder

docker build -t quay.io/tambet/malmo:0.18 .
  1. Run docker container with
docker run --net=host quay.io/tambet/malmo:0.18

The docker image exposes port 10000, but mapping it to local port is not enough, because Malmo also wants to connect back to the agent. Therefore it is easiest to start the container in host networking mode as above, which means you can just connect to port 10000 on localhost.

  1. For your agent you still need to include MalmoPython.so in your PYTHONPATH. Also you might need some of the prerequisite libraries, i.e. libxerces (sudo apt-get install libxerces-c3.1 in Ubuntu).

  2. If you are not able to stop the Malmo environment using Ctrl+C, then you need to kill the Docker container manually. First run docker ps and you should see something like this:

CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS              PORTS               NAMES
6b21f985bccc        quay.io/tambet/malmo:0.18   "\"/bin/sh -c 'xvfb-   48 seconds ago      Up 47 seconds       10000/tcp           mad_wozniak         

Now to kill the container run docker kill 6b21f985bccc where 6b21f985bccc is the container id. Verify with docker ps that it is not running any more.

Clone this wiki locally