diff options
Diffstat (limited to 'Services/memcache')
| -rw-r--r-- | Services/memcache/Dockerfile | 15 | ||||
| -rw-r--r-- | Services/memcache/docker-compose.yml | 15 | ||||
| -rw-r--r-- | Services/memcache/run.sh | 62 | ||||
| -rw-r--r-- | Services/memcache/sx/memcache.sh | 41 | ||||
| -rw-r--r-- | Services/memcache/sx/memcache_run.sh | 7 | 
5 files changed, 87 insertions, 53 deletions
diff --git a/Services/memcache/Dockerfile b/Services/memcache/Dockerfile index 6bc68fe..9b2b948 100644 --- a/Services/memcache/Dockerfile +++ b/Services/memcache/Dockerfile @@ -1,10 +1,15 @@  FROM startx/fedora  MAINTAINER Christophe LARUE <dev@startx.fr> -RUN dnf -y install memcached memcached-selinux && yum clean all  -COPY sx/* /sx/ -RUN chmod ug+rx /sx/memcache*  +USER root +RUN dnf -y install memcached && \ +    dnf clean all  +ENV STARTUPLOG=/data/logs/memcache/startup.log \ +    LOG_PATH=/data/logs/memcache +COPY *.sh /bin/ +RUN chmod 775 /bin/run.sh && \ +    mkdir -p $LOG_PATH && \ +    touch $STARTUPLOG  EXPOSE 11211 - -CMD ["/sx/memcache_run.sh"]
\ No newline at end of file +CMD ["/bin/run.sh"]
\ No newline at end of file diff --git a/Services/memcache/docker-compose.yml b/Services/memcache/docker-compose.yml new file mode 100644 index 0000000..792dc6c --- /dev/null +++ b/Services/memcache/docker-compose.yml @@ -0,0 +1,15 @@ +server: +  build: ./ +#  image: sv-memcache +  container_name: "memcache-server" +  mem_limit: 1g +  memswap_limit: 1g +  cpu_shares: 2 +  restart: "on-failure:2" +  environment: +    CONTAINER_TYPE: "service" +    CONTAINER_SERVICE: "memcache" +    CONTAINER_INSTANCE: "service-memcache" +  volumes: +    - "/tmp/container/logs/memcache:/data/logs/memcache" +    - "/tmp/container/memcache:/data/memcache"
\ No newline at end of file diff --git a/Services/memcache/run.sh b/Services/memcache/run.sh new file mode 100644 index 0000000..bc4279e --- /dev/null +++ b/Services/memcache/run.sh @@ -0,0 +1,62 @@ +#!/bin/bash +source /bin/sx-lib.sh + + +function display_container_memcache_header { +    echo "+=====================================================" +    echo "| Container   : $HOSTNAME" +    echo "| OS          : $(</etc/redhat-release)" +    echo "| Engine      : " memcached -h | head -1 +    if [ -v CONTAINER_TYPE ]; then +        echo "| Type        : $CONTAINER_TYPE" +    fi +    if [ -v CONTAINER_INSTANCE ]; then +        echo "| Instance    : $CONTAINER_INSTANCE" +    fi +    if [ -v CONTAINER_SERVICE ]; then +        echo "| Service     : $CONTAINER_SERVICE" +    fi +    if [ -v LOG_PATH ]; then +        echo "| Log path    : $LOG_PATH" +    fi +    echo "+=====================================================" +} + + +# Begin configuration before starting daemonized process +# and start generating host keys +function begin_config { +    echo "=> BEGIN MEMCACHE CONFIGURATION" +    if [[ ! -d $LOG_PATH ]]; then +        echo "log directory $LOG_PATH not found" +        mkdir -p $LOG_PATH; +        echo "log directory $LOG_PATH CREATED" +    else  +        echo "log directory $LOG_PATH EXIST" +    fi +    chmod 0774 $LOG_PATH;  +} + +# End configuration process just before starting daemon +function end_config { +    echo "=> END MEMCACHE CONFIGURATION" +} + +# Start the memcache server as a deamon and execute it inside  +# the running shell +function start_daemon { +    echo "=> Starting memcache daemon ..." +    display_container_started +    exec memcached -u daemon -v +} + + +if [[ "$0" == *"run.sh" && ! $1 = "" ]];then +    eval "$@";  +fi + +check_environment | tee -a $STARTUPLOG +display_container_memcache_header | tee -a $STARTUPLOG +begin_config | tee -a $STARTUPLOG +end_config | tee -a $STARTUPLOG +start_daemon | tee -a $STARTUPLOG diff --git a/Services/memcache/sx/memcache.sh b/Services/memcache/sx/memcache.sh deleted file mode 100644 index d963a29..0000000 --- a/Services/memcache/sx/memcache.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -export TERM=dumb - -# Begin configuration before starting daemonized process -# and start generating host keys -function begin_config { -    echo "=> Begin memcached configuration for host $HOSTNAME" -} - -# End configuration process just before starting daemon -function end_config { -    stop_server -    echo "=> End memcached configuration ..." -} - -# Start the memcached server in background. Used to perform config -# against the database structure such as user creation -function start_server { -    echo "===> Starting memcached server ..." -    memcached -u daemon -d & -    sleep 8 -} - -# Stop the memcached server running in background.  -function stop_server { -    echo "===> Stopping memcached server ..." -    killall memcached -    sleep 8 -} - -# Start the memcached server as a deamon and execute it inside  -# the running shell -function start_daemon { -    echo "=> Starting memcached daemon ..." -    exec memcached -u daemon -} - - -if [[ "$0" == *"memcached.sh" && ! $1 = "" ]];then -    eval "$@";  -fi
\ No newline at end of file diff --git a/Services/memcache/sx/memcache_run.sh b/Services/memcache/sx/memcache_run.sh deleted file mode 100644 index 8108386..0000000 --- a/Services/memcache/sx/memcache_run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -source /sx/memcache.sh - -begin_config -end_config - -start_daemon
\ No newline at end of file  | 
