Memcached is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.
Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in least recently used order. Applications using Memcached typically layer requests and additions into RAM before falling back on a slower backing store, such as a database.
docker run --name my-memcache -d memcached
Start your memcached container with the above command and then you can connect you app to it with standard linking:
docker run --link my-memcache:memcache -d my-app-image
The memcached server information would then be available through the ENV
variables generated by the link as well as through DNS as memcache from
/etc/hosts.
For infomation on configuring your memcached server, see the extensive wiki.
As of 1.4.21, memcached does not handle SIGTERM, so a standard docker stop
will not stop it gracefully, but will resort to SIGKILL after the 10 second
timeout. Use docker kill -s INT to do a clean stop of the memcached
container. There is a PR to
change this behavior upstream.