Redis is an open-source, fast, and in-memory key-value data store. It can be used as a database, cache, message broker, and queue. Redis is designed for distributed cluster environment and it can handle large datasets. Deploying Redis in a Docker container will help to scale Redis and fit it right into your development environment.

In this post, we will show you how to deploy Redis with Docker on Ubuntu 20.04.

Step 1 – Install Docker

By default, the latest version of Docker is not included in the Ubuntu default repository, so you will need to add the Docker official repository to your system.

First, install all required dependencies using the following command:

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

Next, add the Docker repository with the following command:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Once the repository is added, install Docker with the following command:

apt-get install docker-ce -y

Once Docker is installed, check the status of Docker with the following command:

systemctl status docker

Output:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-06-07 07:14:36 UTC; 13s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 9081 (dockerd)
      Tasks: 10
     Memory: 41.0M
     CGroup: /system.slice/docker.service
             └─9081 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Step 2 – Download Redis Image

Next, you will need to download the latest version of the Redis image from the Docker registry. You can download it with the following command:

docker pull redis:latest

Output:

latest: Pulling from library/redis
69692152171a: Pull complete 
a4a46f2fd7e0: Pull complete 
bcdf6fddc3bd: Pull complete 
2902e41faefa: Pull complete 
df3e1d63cdb1: Pull complete 
fa57f005a60d: Pull complete 
Digest: sha256:7e2c6181ad5c425443b56c7c73a9cd6df24a122345847d1ea9bb86a5afc76325
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

You can now verify the downloaded image with the following command:

docker images

Output:

REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
redis        latest    fad0ee7e917a   5 days ago   105MB

Step 3 – Launch Redis Container

Next, you will need to launch a Redis container from the downloaded image. You can launch it with the following command:

docker run --name redis-instance -dit redis

Output:

2e7b27647159791d589cbfd55ce3503b8e4cae56b79eaecedeff77cb1824904a

Once the container is started, you can check it with the following command:

docker ps

You should see the following output:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS      NAMES
2e7b27647159   redis     "docker-entrypoint.s…"   11 seconds ago   Up 9 seconds   6379/tcp   redis-instance

As you can see, the Redis container is started and listening on port 6379.

Step 4 – Connect the Redis Container

Next, you can connect to the Redis container with the following command:

docker exec -it redis-instance /bin/bash

Once you are connected, you should see the following shell:

root@2e7b27647159:/data#

Now, connect to the Redis interface with the following command:

root@2e7b27647159:/data# redis-cli

Output:

127.0.0.1:6379> 

Now, test the Redis with the ping command:

127.0.0.1:6379> ping

If everything is fine, you should see the following output:

PONG

Run the quit command to exit from the Redis CLI.

127.0.0.1:6379> quit

Next, exit from the Redis container with the following command:

root@2e7b27647159:/data# exit

Conclusion

Congratulations! You have successfully deployed a Redis within a Docker container. You can now use this setup to deploy and scale a Redis within a Docker cluster on your dedicated hosting account from Atlantic.Net.