Docker and Redis Enterprise Pack – Developing Redis Applications on Windows, MacOS or Linux with Containers

We are excited to announce the preview release of the new docker image for Redis Enterprise Pack.

Redis is the most popular database used with Docker containers. Redis Enterprise Pack extends open source Redis and delivers stable high performance, linear scaling and high availability with significant operational savings.

The new Redis Enterprise Pack image is available on Docker Hub.

Docker brings a great deal of benefits when working with Redis Enterprise Pack. Containers help scale-minimize Redis Enterprise Pack and fit it right into your development environment. You can run a full cluster locally on your Windows, macOS or Linux host.

Quick Start with Redis Enterprise Pack using Docker

You can use Docker to run Redis Enterprise Pack container in MacOS, various Linux and Windows-based machines. Getting started is simple:

Step 1: Run the Redis Enterprise Pack container

docker run -d –cap-add sys_resource –name rp -p 8443:8443 -p 12000:12000 redis/redis

Step 2: Setup Redis Enterprise Pack cluster

Simply visit https://localhost:8443 on the host machine and follow the setup instructions.

Step 3: Create a Redis database

Create a Redis database on port 12000 – Click on advanced options to set the database port. 

Step 4: Connect to your database using redis-cli

docker  exec -it rp bash
# sudo /opt/redis/bin/redis-cli -p 12000
# 127.0.0.1:16653> set key1 123
# OK
# 127.0.0.1:16653> get key1
# “123”

Redis Enterprise Pack Container Architecture

A container image represents a single node of the Redis Enterprise Pack cluster. Each container instance can run multiple open source Redis shards to provide seamless scaling. Redis Enterprise Pack Proxy is a high-speed process that scales all connections from Redis applications to the cluster while improving latency and throughput. The Cluster Manager governs and constantly monitors the cluster of Redis Enterprise Pack nodes, and provides efficient multi-tenancy architecture to reduce effects of noisy-neighbours. Redis Enterprise Pack also comes with a simple visual UI for administration, alerting and monitoring over HTTPS.

Common Docker Deployment Topologies with Redis Enterprise Pack

When deploying Redis Enterprise Pack using Docker, there are a few common topologies:

  • Topology #1: The simplest topology is to run a single node cluster with a single container in a single host machine (host OS). This is best for local development or functional testing. Obviously, in a single node topology, Redis Enterprise Pack can’t replicate to slave shards or provide any protection for failures.
  • Topology #2: You may also run a multi-node cluster with multiple Redis Enterprise Pack containers, all deployed to a single host machine (host OS). This topology is similar to Topology #1 except that you run a multi-node cluster to develop and test against. This helps you build scale-minimized systems that closely replicate the behavior of your production environment with Redis Enterprise Pack.
  • Topology #3: You may also run a multi-node cluster with multiple Redis Enterprise Pack containers, each deployed to its own host machine. This topology minimizes interference between Redis Enterprise Pack containers so the performance is more predictable than that of  Topology #2.

You can find more detailed information in our documentation on Docker.