diff options
-rw-r--r-- | Services/apache/Dockerfile | 6 | ||||
-rw-r--r-- | Services/mariadb/Dockerfile | 6 | ||||
-rw-r--r-- | Services/mariadb/docker-compose.yml | 1 | ||||
-rw-r--r-- | Services/mariadb/run.sh | 17 | ||||
-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 | ||||
-rw-r--r-- | docker-compose.yml | 9 |
10 files changed, 98 insertions, 81 deletions
diff --git a/Services/apache/Dockerfile b/Services/apache/Dockerfile index 4e67fd4..a15b41a 100644 --- a/Services/apache/Dockerfile +++ b/Services/apache/Dockerfile @@ -14,10 +14,8 @@ RUN chmod 775 /bin/run.sh /bin/sx-httpd.sh && \ chmod ug+r $HTTPDCONF && \ rm -f /etc/httpd/conf.d/autoindex.conf && \ rm -f /etc/httpd/conf.d/welcome.conf && \ - mkdir /data && \ - mkdir /data/logs && \ - mkdir $APP_PATH && \ - mkdir $LOG_PATH && \ + mkdir -p $APP_PATH && \ + mkdir -p $LOG_PATH && \ touch $STARTUPLOG COPY ./ $APP_PATH RUN rm -f $APP_PATH/Dockerfile $APP_PATH/httpd.conf $APP_PATH/run.sh $APP_PATH/sx-httpd.sh && \ diff --git a/Services/mariadb/Dockerfile b/Services/mariadb/Dockerfile index 09a7acb..9679969 100644 --- a/Services/mariadb/Dockerfile +++ b/Services/mariadb/Dockerfile @@ -15,10 +15,8 @@ COPY my.cnf $MY_CONF COPY *.sql $LOADSQL_PATH/ RUN chmod 775 /bin/run.sh && \ chmod ug+r $MY_CONF && \ - mkdir /data && \ - mkdir /data/logs && \ - mkdir $DATA_PATH && \ - mkdir $LOG_PATH && \ + mkdir -p $DATA_PATH && \ + mkdir -p $LOG_PATH && \ touch $STARTUPLOG && \ touch $DATA_PATH/.keep && \ chown -R mysql:mysql $LOG_PATH $DATA_PATH $LOADSQL_PATH diff --git a/Services/mariadb/docker-compose.yml b/Services/mariadb/docker-compose.yml index f6a1143..744b067 100644 --- a/Services/mariadb/docker-compose.yml +++ b/Services/mariadb/docker-compose.yml @@ -10,7 +10,6 @@ server: CONTAINER_TYPE: "service" CONTAINER_SERVICE: "mariadb" CONTAINER_INSTANCE: "sx-mariadb" - SERVER_NAME: "localhost" MYSQL_ROOT_PASSWORD: "secretdemerde" MYSQL_USER: "user-test" MYSQL_PASSWORD: "pwd-test" diff --git a/Services/mariadb/run.sh b/Services/mariadb/run.sh index a2e4dfb..22f5f2a 100644 --- a/Services/mariadb/run.sh +++ b/Services/mariadb/run.sh @@ -3,22 +3,12 @@ source /bin/sx-lib.sh function check_mariadb_environment { check_environment - if [ ! -v SERVER_NAME ]; then - SERVER_NAME="localhost" - export SERVER_NAME - echo "! WARNING : environment var SERVER_NAME is missing..." - echo "! WARNING : auto-assigned value : $SERVER_NAME" - fi - if [ ! -v DOC_ROOT ]; then - DOC_ROOT="/data/apache" - export DOC_ROOT - fi if [ ! -v APP_PATH ]; then - APP_PATH="/data/apache" + APP_PATH="/data/mariadb" export APP_PATH fi if [ ! -v LOG_PATH ]; then - LOG_PATH="/data/logs/apache" + LOG_PATH="/data/logs/mariadb" export LOG_PATH fi } @@ -37,9 +27,6 @@ function display_container_mariadb_header { if [ -v CONTAINER_SERVICE ]; then echo "| Service : $CONTAINER_SERVICE" fi - if [ -v CONTAINER_SERVICE ]; then - echo "| ServerName : $SERVER_NAME" - fi if [ -v APP_PATH ]; then echo "| Data path : $DATA_PATH" fi 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 diff --git a/docker-compose.yml b/docker-compose.yml index 037c201..d3a9b59 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,10 +17,11 @@ mariadb: extends: file: Services/mariadb/docker-compose.yml service: server - -#memcache: -# build: Services/memcache/ -# container_name: "startx-sv-memcache" + +memcache: + extends: + file: Services/memcache/docker-compose.yml + service: server #mongo: # build: Services/mongo/ |