This repository contains files to create Docker image for Redis from Official Redis Image with support for Redis cluster.
The image/packages used are pinned to a version number in the Dockerfile to ensure image stability.
Automated builds of the image are available on the Docker Hub.
To start a Redis instance:
docker run --name <container-name> -d seekasia/redis:<tag>Additionally if you want to mount the data directory or specifying the custom configuration file:
docker run \
--net=host \
-v <data-dir>:/data \
-v <logrotate-conf>:/etc/logrotate.d/redis \
-v <redis-conf>:/usr/local/etc/redis/redis.conf \
--name <container-name> -d seekasia/redis:<tag> \
redis-server /usr/local/etc/redis/redis.confDocker's networking layer affects the performance significantly, if possible, run the container with --net=host to use host networking to improve the throughput as shown above.
This also a proposed solution for running Redis cluster from different hosts where the Docker's internal address unreachable by other Redis nodes in the cluster.
You can use the environment variable to modify the timezone in the container (Default to Asia/Singapore):
-e TZ=<timezone>The Ruby utility used to facilitate Redis cluster administration is called redis-trib-pass.rb, an enhanced version of the redis-trib.rb with added support for authentication.
Run any redis-trib command as follow:
redis-trib-pass.rb help
redis-trib-pass.rb create --auth <password> 192.168.11.11:7001 192.168.11.11:7002 192.168.11.11:7003