Install on macOS and Windows with Docker
Aerospike Database runs natively on 64-bit Linux, and with Docker you can also deploy Aerospike on macOS and Windows. Aerospike provides container images for x86_64 processors and 64-bit ARM (Apple M series) processors.
Install with AeroLab
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:
aerolab config backend -t docker
aerolab cluster create -f features.conf
aerolab conf scThe 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.
docker pull aerospike/aerospike-server-enterprise
If you prefer to use the Community Edition (CE), use
aerospike/aerospike-server
as the source for the pull.Start the Aerospike container.
docker run -d --name aerospike -p 3000-3002:3000-3002 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:
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 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 variableFEATURES
with the base64-encoded feature-key file.-e "FEATURE_KEY_FILE=env-b64:FEATURES"
sets thefeature-key-file
configuration parameter to the value of the container-side variableFEATURES
.-p
maps ports 3000, 3001, and 3002 of the host machine to ports 3000, 3001, and 3002 inside the Docker container, respectively.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: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:
docker run -it aerospike/aerospike-tools aql -h $(docker inspect -f '{{.NetworkSettings.IPAddress}}' aerospike)
The command invokes
aql
in theaerospike/aerospike-tools container
, providing AQL's-h
option with the IP address of the Aerospike Database container with thedocker 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.
noteAlthough AQL does not require semicolons, the semicolons here allow you to string together record inserts in a single terminal command. Record commands in production are executed with external client libraries.
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:
select * from test.birds
+----+-----------------+----------------+
| PK | location | species |
+----+-----------------+----------------+
| 3 | "Palo Alto" | "snowy plover" |
| 2 | | "seagull" |
| 1 | "Mountain View" | "scrub jay" |
+----+-----------------+----------------+
3 rows in set (0.049 secs)
Create a shared directory (optional)
/opt/aerospike/etc
is the default location for files in the Docker container. Although not required, creating the same directory on your local system can make it easier to keep track of the files.
Create the
/opt/aerospike/etc
directory on your local machine.Share the directory with Docker Desktop:
- Start Docker Desktop.
- On the top of the Docker Desktop dashboard, click the Settings icon.
- Click Resources, then click File sharing.
- In the Virtual file shares section, at the bottom of the list of shared folders, add
/opt/aerospike/etc
in the empty folder path. - Click the plus icon to the right of the new folder path.
- Click Apply & restart.