Skip to main content

Get Started with Aerospike Graph Using Docker


  • Docker, a containerization service.

  • A running Aerospike Database instance, version or higher.

  • An Aerospike feature key file which has the graph-service key enabled. Click here to sign up for an Aerospike Graph trial, or contact your Aerospike account manager.


    Verify the IP address of your Aerospike server. If you started Aerospike in a Docker container, get the IP address with the following command:

    docker inspect -f  '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' AEROSPIKE-CONTAINER-ID

    Replace AEROSPIKE-CONTAINER-ID with the Docker container ID of your Aerospike container.

Run Aerospike Graph with Docker

  1. An Aerospike Database instance must be running before you start Aerospike Graph Service (AGS). You can use an existing database instance, or you can start one in a Docker container. See Install with Docker for help setting up an Aerospike Database instance with Docker. Take note of the accessible network address of your database instance before going on to the next step.

  2. Download the AGS Docker image.

    Pull from Docker:

    docker pull aerospike/aerospike-graph-service


    Pull from the Google Container Registry:

    docker pull
  3. Run the AGS Docker container.

    docker run -p8182:8182 -e [OPTIONS] aerospike/aerospike-graph-service

    The options you pass to your Docker command let the Graph service know how to connect to your Aerospike database and what kind of indexes to create. For a complete list of available options, see Configuration Options.

    In the following example, the AGS Docker image runs with these configuration options:

    aerospike.client.namespace: test aerospike-devel-cluster-host1:3000, aerospike-devel-cluster-host2:3000 property1, property2
    aerospike.graph.index.vertex.label.enabled: true
    docker run -p8182:8182 -e aerospike.client.namespace="test" -e \"aerospike-devel-cluster-host1:3000, aerospike-devel-cluster-host2:3000" \
    -e,property2 \
    -e aerospike.graph.index.vertex.label.enabled=true \

    Configuration file options

    It is also possible to run the AGS Docker image with a configuration file. To use a configuration file, create a file named, store it locally, and reference it when you start the AGS Docker image.

    The following properties file uses options equivalent to those in the above Docker command:, aerospike-devel-cluster-host2:3000

    To use a configuration file when running the AGS Docker image, use the -v flag to create a volume bind. In the following example, the full path to the configuration file is /home/graph-user/graph/conf/ The filepath after the :, /opt/aerospike-graph/conf/, is the correponding configuration file in the AGS Docker container.

    docker run -p 8182:8182 \
    -v /home/graph-user/graph/conf/ \

    Docker output

    The AGS Docker container runs a Gremlin server instance, so you will see some Gremlin server initialization messages after the container starts. The messages look similar to the following:

    Server config:

    [INFO] o.a.t.g.s.GremlinServer - 3.6.3
    (o o)

    [INFO] o.a.t.g.s.GremlinServer - Configuring Gremlin Server from /opt/aerospike-graph/conf/docker-default/aerospike-gremlin-server.yaml
    [INFO] o.a.t.g.s.u.MetricManager - Configured Metrics ConsoleReporter configured with report interval=180000ms
    [INFO] o.a.t.g.s.GremlinServer$1 - Channel started at port 8182.

If you've successfully completed these steps, you're ready to start using Aerospike Graph. See Using Aerospike Graph for help with getting started on interacting with your graph data.

Configuration options

When running the AGS Docker container, the following configuration options are available:

Default: localhost:3000
Allowable values: Any string that follows <host>:<port> format.
Accessible address of one or more Aerospike seed nodes, specified as <host>:<port> in a comma-separated list.

Option: aerospike.client.timeout
Default: 2000
Allowable values: 1 - 100000
Timeout assigned to the Aerospike client (in milliseconds).

Option: aerospike.client.user
Default: none
Allowable values: String values. Must match a user configured for the Aerospike database intance.
Username to use when connecting to the Aerospike cluster if login security is enabled.

Option: aerospike.client.password
Default: none
Allowable values: String values. Must match Aerospike password for specified user.
Password to use when connecting to the Aerospike cluster if login security is enabled.

Option: aerospike.client.namespace
Default: test
Allowable values: String values. Must match an existing Aerospike namespace.
Namespace to use for storage of graph data. Note: This namespace must already exist on the Aerospike database cluster before starting AGS.

Option: aerospike.client.tls
Default: false
Allowable values: true, false
Enable TLS.

Option: aerospike.graph.log.level
Default: INFO
Log level for the AGS instance. Allowable values are in ascending order of verbosity.

Option: aerospike.graph.index.vertex.label.enabled
Default: false
Allowable values: true, false
Enable indexing of vertex labels.

Default: none
Allowable values: Any string.
Comma-delimited list of vertex properties to create an index on.

Option: aerospike.graph.summary.enabled
Default: true
Allowable values: true, false
Enable summary metadata for Aerospike Graph.

Option: aerospike.graph.summary.ticker.enabled
Default: true
Allowable values: true, false
Enable Aerospike Graph summary metadata ticker.