Use AeroLab to create Aerospike development and testing clusters locally in Docker, or remotely on AWS or Google Cloud.

To install with AeroLab, perform the following steps:

Install AeroLab as described in Getting started with AeroLab .

To install a cluster and try out the new transactions feature of Aerospike Database 8.0, enter the following commands:

Terminal
aerolab config backend -t docker
aerolab cluster create -f features.conf
aerolab conf sc

The default consistency mode in Aerospike Database is AP. AeroLab’s conf sc command enables strong-consistency mode.

Install with Docker Desktop

Docker Desktop is a convenient way to run the containers. After you have installed Docker Desktop, launch it and execute the following steps.

Pull the Docker image. For this example, we use Aerospike Database Enterprise Edition (EE) because it allows a single-node cluster with all enterprise features for evaluation. See Features and Editions for more information.

Terminal
docker pull container.aerospike.com/aerospike/aerospike-server-enterprise

If you prefer to use the Community Edition (CE), use container.aerospike.com/aerospike/aerospike-server as the source for the pull.

Start the Aerospike container.

Terminal
docker run -d --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server-enterprise

Enterprise Edition’s evaluation features are unlocked in its included feature-key file . If you have your own feature-key file, set an environment variable with the location of the file and pass it to the Docker image:

Terminal
export FEATKEY=$(base64 -i ~/evaluation-features.conf)
docker run -d -e "FEATURES=$FEATKEY" -e "FEATURE_KEY_FILE=env-b64:FEATURES" --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server-enterprise
  • -d runs the container in detached mode.
  • --name assigns a name to the container.
  • -e "FEATURES=$FEATKEY" sets a container-side environment variable FEATURES with the base64-encoded feature-key file.
  • -e "FEATURE_KEY_FILE=env-b64:FEATURES" sets the feature-key-file configuration parameter to the value of the container-side variable FEATURES .
  • -p maps ports 3000, 3001, and 3002 of the host machine to ports 3000, 3001, and 3002 inside the Docker container, respectively.
  • container.aerospike.com/aerospike/aerospike-server-enterprise specifies the name of the image.
  • See the Docker run reference for more information on the Docker parameters.

    For more information on the Aerospike EE image, see aerospike/aerospike-server-enterprise on Docker Hub.

    Verify that the container is running:

    Run docker ps to show all running containers. Its output should resemble the following:

    Terminal output
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c8456f7dd252 aerospike/aerospike-server-enterprise "/usr/bin/dumb-init …" 21 seconds ago Up 15 seconds 0.0.0.0:3000-3002->3000-3002/tcp aerospike

    Test your Docker installation

    Before you start developing clients, use Aerospike Quick Look (AQL) , Aerospike’s command-line data browser, to insert and read records to verify that the database is running.

    Run the following command to install and run the Aerospike tools container image and AQL tool:

    Terminal
    docker run -it container.aerospike.com/aerospike/aerospike-tools aql -h $(docker inspect -f '{{.NetworkSettings.IPAddress}}' aerospike)

    The command invokes aql in the aerospike/aerospike-tools container , providing AQL’s -h option with the IP address of the Aerospike Database container with the docker inspect command.

    After you run the command, the aql command prompt appears.

    Run the following example commands to create some new records in the default namespace test and a new set birds . In this example, we log bird sightings and their locations.

    AQL
    insert into test.birds (PK, species, location) values (1, 'scrub jay', 'Mountain View');
    insert into test.birds (PK, species) values (2, 'seagull');
    insert into test.birds (PK, location, species) values (3, 'Palo Alto', 'snowy plover')

    Query the database:

    AQL
    select * from test.birds
    AQL output
    AQL output
    +----+-----------------+----------------+
    | PK | location | species |
    +----+-----------------+----------------+
    | 3 | "Palo Alto" | "snowy plover" |
    | 2 | | "seagull" |
    | 1 | "Mountain View" | "scrub jay" |
    +----+-----------------+----------------+
    3 rows in set (0.049 secs)