clearlinux/memcached
is a Docker image with memcached
running on top of the
official clearlinux base image.
memcached is a free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
For other Clear Linux* OS based container images, see: https://hub.docker.com/u/clearlinux
Clear Linux* OS is an open source, rolling release Linux distribution optimized for performance and security, from the Cloud to the Edge, designed for customization, and manageability.
Clear Linux* OS based container images use:
- Optimized libraries that are compiled with latest compiler versions and flags.
- Software packages that follow upstream source closely and update frequently.
- An aggressive security model and best practices for CVE patching.
- A multi-staged build approach to keep a reduced container image size.
- The same container syntax as the official images to make getting started easy.
To learn more about Clear Linux* OS, visit: https://clearlinux.org.
The easiest way to get started with this image is by simply pulling it from Docker Hub.
*Note: This container uses the same syntax as the official memcached image.
- Pull the image from Docker Hub:
docker pull clearlinux/memcached
- Start a memcached server
docker run --network somenetwork --name memcached-server -d clearlinux/memcached
This image can also be deployed on a Kubernetes cluster, such as minikube.The following example YAML files are provided in the repository as reference for Kubernetes deployment:
-
memcached-deployment.yaml
: example using default configuration to create a basic memcached service. -
memcached-deployment-conf.yaml
: example using your own custom configuration to create a memcached service.
Steps to deploy memcached on a Kubernetes cluster:
-
If you want to deploy
memcached-deployment.yaml
kubectl create -f memcached-deployment.yaml
Or if you want to deploy
memcached-deployment-conf.yaml
kubectl create -f memcached-deployment-conf.yaml
-
Install telnet bundle and connect to the service, where 30100 is the port number defined in your service.
swupd bundle-add netkit-telnet telnet <nodeIP> 30100
The Dockerfiles for all Clear Linux* OS based container images are available at https://github.com/clearlinux/dockerfiles. These can be used to build and modify the container images.
-
Clone the clearlinux/dockerfiles repository.
git clone https://github.com/clearlinux/dockerfiles.git
-
Change to the directory of the application:
cd memcached/
-
Build the container image:
docker build -t clearlinux/memcached .
Refer to the Docker documentation for default build arguments. Additionally:
swupd_args
- specifies arguments to pass to the Clear Linux* OS software manager. See the swupd man pages for more information.
memtier_benchmark is a high throughput benchmarking tool for memcache protocols
- Pull the benchmark from redislabs:
docker pull redislabs/memtier_benchmark
- Run memtier benchmark test:
docker run --rm --network somenetwork redislabs/memtier_benchmark ./memtier_benchmark --server=memcached-server -p 11211 -P memcache_text
All licenses for the Clear Linux* Project and distributed software can be found at https://clearlinux.org/terms-and-policies