From b659eb20448ac990c23df4df564fe8128b29fa55 Mon Sep 17 00:00:00 2001 From: Qi Zheng Date: Wed, 17 Apr 2019 15:21:13 +0800 Subject: [PATCH] Add memcached container Signed-off-by: Qi Zheng --- .travis.yml | 1 + README.md | 1 + memcached/Dockerfile | 16 +++++++++++++++ memcached/README.md | 36 ++++++++++++++++++++++++++++++++++ memcached/docker-entrypoint.sh | 13 ++++++++++++ 5 files changed, 67 insertions(+) create mode 100644 memcached/Dockerfile create mode 100644 memcached/README.md create mode 100644 memcached/docker-entrypoint.sh diff --git a/.travis.yml b/.travis.yml index a42758e..3a708d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ env: - DOCKERFILE_DIR=httpd - DOCKERFILE_DIR=elasticsearch - DOCKERFILE_DIR=cgit + - DOCKERFILE_DIR=memcached script: - cd $DOCKERFILE_DIR diff --git a/README.md b/README.md index 9eeae69..1c1dbc7 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ Containers - mixer-ci - Keystone - MariaDB +- memcached - redis - stacks-dlrs-oss - stacks-dlrs-mkl diff --git a/memcached/Dockerfile b/memcached/Dockerfile new file mode 100644 index 0000000..6fbd86f --- /dev/null +++ b/memcached/Dockerfile @@ -0,0 +1,16 @@ +FROM clearlinux:latest +MAINTAINER qi.zheng@intel.com + +ARG swupd_args + +RUN swupd update $swupd_args \ + && swupd bundle-add memcached $swupd_args \ + && rm -rf /var/lib/swupd/* + +COPY docker-entrypoint.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +EXPOSE 11211 +CMD ["memcached"] diff --git a/memcached/README.md b/memcached/README.md new file mode 100644 index 0000000..7132128 --- /dev/null +++ b/memcached/README.md @@ -0,0 +1,36 @@ +memcached +========== +This provides a Clear Linux* memcached instance. + +Build +----- +``` +docker build -t clearlinux/memcached . +``` + +Or just pull it from Dockerhub +--------------------------- +``` +docker pull clearlinux/memcached +``` + +Start a memcached server +----------------------- +``` +docker run --network somenetwork --name memcached-server -d clearlinux/memcached +``` + +Benchmark test using memtier benchmark +--------------------- +Please refer to the [page](https://github.com/RedisLabs/memtier_benchmark) for details. + +``` +docker pull redislabs/memtier_benchmark +docker run --rm --network somenetwork redislabs/memtier_benchmark ./memtier_benchmark --server=memcached-server -p 11211 -P memcache_text +``` + +Extra Build ARGs +---------------- +- ``swupd_args`` Specifies [SWUPD](https://clearlinux.org/documentation/swupdate_how_to_run_the_updater.html) flags + +Default build args in Docker are on: https://docs.docker.com/engine/reference/builder/#arg diff --git a/memcached/docker-entrypoint.sh b/memcached/docker-entrypoint.sh new file mode 100644 index 0000000..4712a29 --- /dev/null +++ b/memcached/docker-entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +# first arg is `-f` or `--some-option` +if [ "${1#-}" != "$1" ]; then + set -- memcached "$@" +fi + +if [ "$1" = 'memcached' -a "$(id -u)" = '0' ]; then + echo "memcached -s /bin/bash -c \"$0 $@\"" | xargs su +fi + +exec "$@"