Redis is an open-source, networked, in-memory, key-value data store with optional durability. It is written in ANSI C. The development of Redis has been sponsored by Pivotal since May 2013; before that, it was sponsored by VMware. According to the monthly ranking by DB-Engines.com, Redis is the most popular key-value store. The name Redis means REmote DIctionary Server.
%%LOGO%%
docker run --name some-redis -d redis
This image includes EXPOSE 6379 (the redis port), so standard container
linking will make it automatically available to the linked containers (as the
following examples illustrate).
docker run --name some-redis -d redis redis-server --appendonly yes
If persistence is enabled, data is stored in the VOLUME /data, which can be
used with --volumes-from some-volume-container or -v /docker/host/dir:/data
(see docs.docker volumes).
For more about Redis Persistence, see http://redis.io/topics/persistence.
docker run --name some-app --link some-redis:redis -d application-that-uses-redis
redis-clidocker run -it --link some-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'
You can create your own Dockerfile that adds a redis.conf from the context into /data/, like so.
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
Alternatively, you can specify something along the same lines with docker run
options.
docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis /usr/local/etc/redis/redis.conf
Where /myredis/conf/ is a local directory containing your redis.conf file.
Using this method means that there is no need for you to have a Dockerfile for
your redis container.