For more information about this image and its history, please see the relevant
manifest file
(library/redis
)
in the docker-library/official-images
GitHub
repo.
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.
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
docker 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.
View license information for the software contained in this image.
This image is officially supported on Docker version 1.4.1.
Support for older versions (down to 1.0) is provided on a best-effort basis.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
You can also reach many of the official image maintainers via the
#docker-library
IRC channel on Freenode.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.