Docker quickstart for Redis Enterprise Software

Set up a development or test deployment of Redis Enterprise Software using Docker.

Docker containers are currently only supported for development and test environments, not for production. Use Redis Enterprise on Kubernetes for a supported containerized deployment.

For testing purposes, you can run Redis Enterprise Software on Docker containers on Linux, Windows, or MacOS. The Redis Enterprise Software container acts as a node in a cluster.

To get started with a single Redis Enterprise Software container:

  1. Install Docker for your operating system

  2. Run the Redis Enterprise Software Docker container

  3. Set up a cluster

  4. Create a new database

  5. Connect to your database

Install Docker

Follow the Docker installation instructions for your operating system:

Run the container

To download and start the Redis Enterprise Software Docker container, run the following docker run command in the terminal or command line for your operating system.

On Windows, make sure Docker is configured to run Linux-based containers.
docker run -d --cap-add sys_resource --name RE -p 8443:8443 -p 9443:9443 -p 12000:12000 redislabs/redis

The example command runs the Docker container with Redis Enterprise Software on localhost and opens the following ports:

  • Port 8443 for HTTPS connections

  • Port 9443 for REST API connections

  • Port 12000 configured Redis database port allowing client connections

You can publish other ports with -p <host_port>:<container_port> or use the --network host option to open all ports to the host network.

Set up a cluster

  1. In the web browser on the host machine, go to https://localhost:8443/new to see the new Redis Enterprise Software Cluster Manager UI. The cluster generates self-signed TLS certificates to secure the connection. These self-signed certificates are unknown to the browser and must be accepted before you proceed.

    To use the legacy UI for this quickstart instead, see the 6.4 version of the quickstarts.

    • If the server does not show the login screen, try again after a few minutes.
  2. Select Create new cluster.

    When you first install Redis Enterprise Software, you need to set up a cluster.
  3. Enter an email and password for the administrator account, then select Next to proceed to cluster setup.

    Set the credentials for your admin user.

    You can also use these credentials to connect to the REST API.

  4. Enter your cluster license key if you have one. Otherwise, a trial version is installed.

    Enter your cluster license key if you have one.
  5. In the Configuration section, enter a cluster FQDN such as cluster.local, then select Next.

    Configure the cluster FQDN.
    If the FQDN is cluster.local, you cannot configure DNS. You cannot change the FQDN after cluster creation.
  6. On the node setup screen, select Create cluster to accept the defaults.

    Configure the node specific settings.
  7. Select OK to acknowledge the replacement of the HTTPS TLS certificate on the node. If you receive a browser warning, you can proceed safely.

    Modal shown when a page refresh is needed because the certificates have been updated.

Create a database

  1. On the Databases screen, select Quick database.

    Select Quick database on the Databases screen.
  2. Enter 12000 for the Port.

    If port 12000 is not available, enter any available port number between 10000 to 19999 or leave it blank to let the cluster assign a port number for you. You will use this port number to connect to the database.

    Create a quick database.
  3. Select Create to create your database.

When you see Database active appear on the database configuration screen, the database is activated and ready for you to use.

Database active icon.

You now have a Redis database!

If you cannot activate the database because of a memory limitation, make sure that Docker has at least 4 GB of memory allocated in the Advanced section of Docker Settings.

Connect to your database

After you create the Redis database, you can connect to it to begin storing data.

Use redis-cli inside Docker

Every installation of Redis Enterprise Software includes the command-line tool redis-cli to interact with your Redis database. You can use redis-cli to connect to your database from within the same Docker network.

Use docker exec to start an interactive redis-cli session in the running Redis Enterprise Software container:

$ docker exec -it redis-cli -h redis-12000.cluster.local -p 12000> SET key1 123
OK> GET key1

Connect from the host environment

The database you created uses port 12000, which is also mapped from the Docker container back to the host environment. This lets you use any method you have available locally to connect to a Redis database. Use localhost as the host and 12000 as the port.

Test different topologies

Docker containers are currently only supported for development and test environments, not for production. Use Redis Enterprise on Kubernetes for a supported containerized deployment.

When deploying Redis Enterprise Software using Docker for testing, several common topologies are available, according to your requirements:

Single node

The simplest topology is to run a single-node Redis Enterprise Software cluster with a single container on a single host machine. You can use this topology for local development or functional testing.

Single-node clusters have limited functionality. For example, Redis Enterprise Software can't use replication or protect against failures if the cluster has only one node.

Multiple nodes on one host

You can create a multi-node Redis Enterprise Software cluster by deploying multiple containers to a single host machine. The resulting cluster is scale minimized but similar to production deployments.

However, this will also have several limitations. For example, you cannot map the same port on multiple containers on the same host.

Multiple nodes and hosts

You can create a multi-node Redis Enterprise Software cluster with multiple containers by deploying each container to a different host machine.

This topology minimizes interference between containers, allowing for the testing of more Redis Enterprise Software features.

Back to top ↑