I’ve created an automated build repository on docker, so that you can easily start a docker container with the latest stable release. If you miss anything in the container, please let me know. Thanks to frodenas, hipertracker, joaodubas, webwurst who also created dockerfiles.

ArangoDB

A distributed open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient sql-like query language or JavaScript extensions.

Start a ArangoDB instance

In order to start an ArangoDB instance run

By default ArangoDB listen on port 8529 for request and the image includes EXPOST 8529. If you link an application container, it is automatically available in the linked container. See the following examples.

Using the instance

In order to use the running instance from an application, link the container

Running the image

In order to start an ArangoDB instance run

ArangoDB listen on port 8529 for request and the image includes EXPOST 8529. The -p 8529:8529 exposes this port on the host.

Command line options

In order to get a list of supported options, run

Persistent Data

ArangoDB use the volume /data as database directory to store the collection data and the volume /apps as apps directory to store any extensions. These directory are marked as docker volumes.

See docker run -e help=1 arangodb for all volumes.

A good explanation about persistence and docker container can be found here: Docker In-depth: Volumes, Why Docker Data Containers are Good Using host directories

Using host directories

You can map the container’s volumes to a directory on the host, so that the data is kept between runs of the container. This path /tmp/arangodb is in general not the correct place to store you persistent files – it is just an example!

This will use the /tmp/arangodb directory of the host as database directory for ArangoDB inside the container. Using a data container

Using a data container

Alternatively you can create a container holding the data.

And use this data container in your ArangoDB container.

If want to save a few bytes for you can alternatively use tianon/true or progrium/busybox for creating the volume only containers. For example

Images

Building an image

Simple clone the repository and execute the following command in the arangodb-docker folder

This will create a image named arangodb.