diff options
Diffstat (limited to 'Services/memcache')
-rw-r--r-- | Services/memcache/Dockerfile | 4 | ||||
-rw-r--r-- | Services/memcache/README.md | 12 | ||||
-rw-r--r-- | Services/memcache/docker-compose.yml | 2 | ||||
-rw-r--r-- | Services/memcache/run.sh | 24 |
4 files changed, 24 insertions, 18 deletions
diff --git a/Services/memcache/Dockerfile b/Services/memcache/Dockerfile index 32724b2..55ae563 100644 --- a/Services/memcache/Dockerfile +++ b/Services/memcache/Dockerfile @@ -4,8 +4,8 @@ MAINTAINER Christophe LARUE <dev@startx.fr> USER root RUN dnf -y install memcached && \ dnf clean all -ENV STARTUPLOG=/data/logs/memcache/startup.log \ - LOG_PATH=/data/logs/memcache +ENV STARTUPLOG=/logs/startup.log \ + LOG_PATH=/logs COPY *.sh /bin/ RUN chmod 775 /bin/run.sh && \ mkdir -p $LOG_PATH && \ diff --git a/Services/memcache/README.md b/Services/memcache/README.md index 0ce3167..8f88de3 100644 --- a/Services/memcache/README.md +++ b/Services/memcache/README.md @@ -29,7 +29,7 @@ service: CONTAINER_SERVICE: "memcache" CONTAINER_INSTANCE: "service-memcache" volumes: - - "/tmp/container/logs/memcache:/data/logs/memcache" + - "/tmp/container/logs/memcache:/logs" ``` ## Docker-compose in various situations @@ -72,7 +72,7 @@ CMD ["/bin/run.sh"] | CONTAINER_TYPE | `string` | `no` | Container family (os, service, application. could be enhanced | CONTAINER_SERVICE | `string` | `no` | Define the type of service or application provided | HOSTNAME | `auto` | `auto` | Container unique id automatically assigned by docker daemon at startup -| LOG_PATH | `auto` | `auto` | default set to /data/logs/memcache and used as a volume mountpoint +| LOG_PATH | `auto` | `auto` | default set to /logs and used as a volume mountpoint ## Exposed port @@ -84,8 +84,8 @@ CMD ["/bin/run.sh"] | Container directory | Description | |----------------------|--------------------------------------------------------------------------| -| /data/logs/memcache | log directory used to record container and memcache logs -| /data/memcache | data directory served by memcache. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes +| /logs | log directory used to record container and memcache logs +| /data | data directory served by memcache. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes ## Testing the service @@ -106,8 +106,8 @@ You must have a working environment with the source code of this repository. Rea 1. Jump into the container directory with `cd Services/memcache` 2. Build the container using `docker build -t sv-memcache .` 3. Run this container - 1. Interactively with `docker run -p 11211:11211 -v /data/logs/memcache -it sv-memcache`. If you add a second parameter (like `/bin/bash`) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: `/bin/bash`, `/bin/ps -a`, `/bin/df -h`,...) - 2. As a daemon with `docker run -p 11211:11211 -v /data/logs/memcache -d sv-memcache` + 1. Interactively with `docker run -p 11211:11211 -v /logs -it sv-memcache`. If you add a second parameter (like `/bin/bash`) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: `/bin/bash`, `/bin/ps -a`, `/bin/df -h`,...) + 2. As a daemon with `docker run -p 11211:11211 -v /logs -d sv-memcache` ### Build & run a container using `docker-compose` diff --git a/Services/memcache/docker-compose.yml b/Services/memcache/docker-compose.yml index 8368855..ae39b41 100644 --- a/Services/memcache/docker-compose.yml +++ b/Services/memcache/docker-compose.yml @@ -12,4 +12,4 @@ server: CONTAINER_SERVICE: "memcache" CONTAINER_INSTANCE: "service-memcache" volumes: - - "/tmp/container/logs/memcache:/data/logs/memcache"
\ No newline at end of file + - "/tmp/container/logs/memcache:/logs"
\ No newline at end of file diff --git a/Services/memcache/run.sh b/Services/memcache/run.sh index 77ef648..3c5a8cd 100644 --- a/Services/memcache/run.sh +++ b/Services/memcache/run.sh @@ -42,21 +42,27 @@ function end_config { echo "=> END MEMCACHE CONFIGURATION" } +function stop_memcache_handler { + killall memcached + echo "+=====================================================" | tee -a $STARTUPLOG + echo "| Container $HOSTNAME is now STOPPED" | tee -a $STARTUPLOG + echo "+=====================================================" | tee -a $STARTUPLOG + exit 143; # 128 + 15 -- SIGTERM +} + + # Start the memcache server as a deamon and execute it inside # the running shell -function start_daemon { - echo "=> Starting memcache daemon ..." | tee -a $STARTUPLOG - display_container_started | tee -a $STARTUPLOG +function start_service_memcache { + trap 'kill ${!}; stop_memcache_handler' SIGHUP SIGINT SIGQUIT SIGTERM SIGKILL SIGSTOP SIGCONT + echo "+=====================================================" | tee -a $STARTUPLOG + echo "| Container $HOSTNAME is now RUNNING" | tee -a $STARTUPLOG + echo "+=====================================================" | tee -a $STARTUPLOG 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 +start_service_memcache |