diff options
| author | startxfr <clarue@startx.fr> | 2015-11-29 00:44:42 +0100 | 
|---|---|---|
| committer | startxfr <clarue@startx.fr> | 2015-11-29 00:44:42 +0100 | 
| commit | 78d1d5017e8acbc8b4bb7f0f567d10f0e47a75df (patch) | |
| tree | 13e05e8d8217a48a0d4decf8564defee11cf35ba | |
| parent | a490cfe364a242b1e9993225758ea6e61369e363 (diff) | |
rewrite mongo and small updates in others
| -rw-r--r-- | OS/docker-compose.yml | 2 | ||||
| -rw-r--r-- | Services/apache/Dockerfile | 2 | ||||
| -rw-r--r-- | Services/apache/docker-compose.yml | 4 | ||||
| -rw-r--r-- | Services/apache/sx-httpd.sh | 2 | ||||
| -rw-r--r-- | Services/mariadb/docker-compose.yml | 6 | ||||
| -rw-r--r-- | Services/mariadb/run.sh | 10 | ||||
| -rw-r--r-- | Services/memcache/docker-compose.yml | 4 | ||||
| -rw-r--r-- | Services/memcache/run.sh | 2 | ||||
| -rw-r--r-- | Services/mongo/Dockerfile | 38 | ||||
| -rw-r--r-- | Services/mongo/docker-compose.yml | 15 | ||||
| -rw-r--r-- | Services/mongo/mongodb.conf | 9 | ||||
| -rw-r--r-- | Services/mongo/run.sh | 92 | ||||
| -rw-r--r-- | Services/mongo/sx/mongod.sh | 48 | ||||
| -rw-r--r-- | Services/mongo/sx/mongod_run.sh | 7 | ||||
| -rw-r--r-- | Services/php/docker-compose.yml | 4 | ||||
| -rw-r--r-- | docker-compose.yml | 5 | 
16 files changed, 149 insertions, 101 deletions
| diff --git a/OS/docker-compose.yml b/OS/docker-compose.yml index 82b72af..b9e2dde 100644 --- a/OS/docker-compose.yml +++ b/OS/docker-compose.yml @@ -3,7 +3,7 @@ fedora:  #  image: sx-fedora    container_name: "os-fedora"    mem_limit: 1g -  memswap_limit: 2g +  memswap_limit: 1g    cpu_shares: 2    restart: "on-failure:2"    environment: diff --git a/Services/apache/Dockerfile b/Services/apache/Dockerfile index a15b41a..620add6 100644 --- a/Services/apache/Dockerfile +++ b/Services/apache/Dockerfile @@ -19,7 +19,7 @@ RUN chmod 775 /bin/run.sh /bin/sx-httpd.sh && \      touch $STARTUPLOG  COPY ./ $APP_PATH  RUN rm -f $APP_PATH/Dockerfile $APP_PATH/httpd.conf $APP_PATH/run.sh $APP_PATH/sx-httpd.sh && \ -    chown -R apache:apache $APP_PATH /data/logs +    chown -R apache:apache $APP_PATH $LOG_PATH  EXPOSE 80 443  VOLUME [$APP_PATH,$LOG_PATH] diff --git a/Services/apache/docker-compose.yml b/Services/apache/docker-compose.yml index 8e951bc..ed68cab 100644 --- a/Services/apache/docker-compose.yml +++ b/Services/apache/docker-compose.yml @@ -2,8 +2,8 @@ server:    build: ./  #  image: sv-apache    container_name: "apache-server" -  mem_limit: 1g -  memswap_limit: 2g +  mem_limit: 500m +  memswap_limit: 500m    cpu_shares: 2    restart: "on-failure:2"    environment: diff --git a/Services/apache/sx-httpd.sh b/Services/apache/sx-httpd.sh index fb50be9..b7d368a 100644 --- a/Services/apache/sx-httpd.sh +++ b/Services/apache/sx-httpd.sh @@ -26,7 +26,7 @@ function display_container_httpd_header {      echo "+====================================================="      echo "| Container   : $HOSTNAME"      echo "| OS          : $(</etc/redhat-release)" -    echo "| Engine      : " httpd -v | head -1 +    echo "| Engine      : $(httpd -v | head -1)"       if [ -v CONTAINER_TYPE ]; then          echo "| Type        : $CONTAINER_TYPE"      fi diff --git a/Services/mariadb/docker-compose.yml b/Services/mariadb/docker-compose.yml index 744b067..841d699 100644 --- a/Services/mariadb/docker-compose.yml +++ b/Services/mariadb/docker-compose.yml @@ -3,8 +3,8 @@ server:  #  image: sx-mariadb    container_name: "sx-mariadb"    mem_limit: 1g -  memswap_limit: 2g -  cpu_shares: 2 +  memswap_limit: 1g +  cpu_shares: 8    restart: "on-failure:2"    environment:      CONTAINER_TYPE: "service" @@ -15,5 +15,5 @@ server:      MYSQL_PASSWORD: "pwd-test"      MYSQL_DATABASE: "db_test"    volumes: -    - "/tmp/container/logs:/data/logs" +    - "/tmp/container/logs/mariadb:/data/logs/mariadb"      - "/tmp/container/mariadb:/data/mariadb"
\ No newline at end of file diff --git a/Services/mariadb/run.sh b/Services/mariadb/run.sh index 22f5f2a..c5ce811 100644 --- a/Services/mariadb/run.sh +++ b/Services/mariadb/run.sh @@ -3,9 +3,9 @@ source /bin/sx-lib.sh  function check_mariadb_environment {      check_environment -    if [ ! -v APP_PATH ]; then -        APP_PATH="/data/mariadb" -        export APP_PATH +    if [ ! -v DATA_PATH ]; then +        DATA_PATH="/data/mariadb" +        export DATA_PATH      fi      if [ ! -v LOG_PATH ]; then          LOG_PATH="/data/logs/mariadb" @@ -17,7 +17,7 @@ function display_container_mariadb_header {      echo "+====================================================="      echo "| Container   : $HOSTNAME"      echo "| OS          : $(</etc/redhat-release)" -    echo "| Engine      : $(mysql -V)" +    echo "| Engine      : $(mysql -V | head -1)"      if [ -v CONTAINER_TYPE ]; then          echo "| Type        : $CONTAINER_TYPE"      fi @@ -27,7 +27,7 @@ function display_container_mariadb_header {      if [ -v CONTAINER_SERVICE ]; then          echo "| Service     : $CONTAINER_SERVICE"      fi -    if [ -v APP_PATH ]; then +    if [ -v DATA_PATH ]; then          echo "| Data path   : $DATA_PATH"      fi      if [ -v LOG_PATH ]; then diff --git a/Services/memcache/docker-compose.yml b/Services/memcache/docker-compose.yml index 792dc6c..dbf0dc6 100644 --- a/Services/memcache/docker-compose.yml +++ b/Services/memcache/docker-compose.yml @@ -2,8 +2,8 @@ server:    build: ./  #  image: sv-memcache    container_name: "memcache-server" -  mem_limit: 1g -  memswap_limit: 1g +  mem_limit: 1.5g +  memswap_limit: 500m    cpu_shares: 2    restart: "on-failure:2"    environment: diff --git a/Services/memcache/run.sh b/Services/memcache/run.sh index bc4279e..405996e 100644 --- a/Services/memcache/run.sh +++ b/Services/memcache/run.sh @@ -6,7 +6,7 @@ function display_container_memcache_header {      echo "+====================================================="      echo "| Container   : $HOSTNAME"      echo "| OS          : $(</etc/redhat-release)" -    echo "| Engine      : " memcached -h | head -1 +    echo "| Engine      : $(memcached -h | head -1)"       if [ -v CONTAINER_TYPE ]; then          echo "| Type        : $CONTAINER_TYPE"      fi diff --git a/Services/mongo/Dockerfile b/Services/mongo/Dockerfile index 85261c8..f240622 100644 --- a/Services/mongo/Dockerfile +++ b/Services/mongo/Dockerfile @@ -1,24 +1,22 @@  FROM startx/fedora  MAINTAINER Christophe LARUE <dev@startx.fr> -RUN dnf -y install \ -    mongodb \ -    mongodb-server \ -    libmongo-client \ -    rsyslog-mongodb \ -    mongodb-mms-backup-agent \ -    mongodb-mms-monitoring-agent \ -    && dnf clean all \ -    && mkdir -p /var/lib/mongodb \ -    && touch /var/lib/mongodb/.keep  -COPY sx/* /sx/ -COPY mongodb.conf /etc/mongodb.conf -RUN chmod ug+rx /sx/mongod* \ -    && chown -R mongodb:mongodb /sx/mongod* /var/lib/mongodb /var/log/mongodb +USER root +RUN dnf -y install mongodb mongodb-server libmongo-client rsyslog-mongodb  && \ +    dnf clean all  +ENV MONGOCONF=/etc/mongodb.conf \ +    STARTUPLOG=/data/logs/mongodb/startup.log \ +    LOG_PATH=/data/logs/mongodb  \ +    DATA_PATH=/data/mongodb +COPY mongodb.conf $MONGOCONF +COPY *.sh /bin/ +RUN chmod 775 /bin/run.sh && \ +    chmod ug+r $MONGOCONF && \ +    mkdir -p $DATA_PATH && \ +    mkdir -p $LOG_PATH && \ +    touch $STARTUPLOG +RUN chown -R mongodb:mongodb $DATA_PATH $LOG_PATH -EXPOSE 27017 -VOLUME ["/var/lib/mongodb", "/var/log/mongodb"] - -USER mongodb -#ENDPOINT ["/sx/mongod_run.sh"] -CMD ["/sx/mongod_run.sh"]
\ No newline at end of file +EXPOSE 27017 28017 +VOLUME [$DATA_PATH,$LOG_PATH] +CMD ["/bin/run.sh"]
\ No newline at end of file diff --git a/Services/mongo/docker-compose.yml b/Services/mongo/docker-compose.yml new file mode 100644 index 0000000..3c6a790 --- /dev/null +++ b/Services/mongo/docker-compose.yml @@ -0,0 +1,15 @@ +server: +  build: ./ +#  image: sx-mongo +  container_name: "sx-mongo" +  mem_limit: 2g +  memswap_limit: 2g +  cpu_shares: 10 +  restart: "on-failure:2" +  environment: +    CONTAINER_TYPE: "service" +    CONTAINER_SERVICE: "mongo" +    CONTAINER_INSTANCE: "sx-mongo" +  volumes: +    - "/tmp/container/logs/mongodb:/data/logs/mongodb" +    - "/tmp/container/mongodb:/data/mongodb"
\ No newline at end of file diff --git a/Services/mongo/mongodb.conf b/Services/mongo/mongodb.conf index 89d19f2..0fe4d13 100644 --- a/Services/mongo/mongodb.conf +++ b/Services/mongo/mongodb.conf @@ -1,12 +1,9 @@ -## -### Config file copied into  -##  bind_ip = 127.0.0.1  port = 27017  fork = true  pidfilepath = /var/run/mongodb/mongodb.pid -logpath = /var/log/mongodb/mongodb.log -dbpath =/var/lib/mongodb +logpath = /data/logs/mongodb/mongodb.log +dbpath =/data/mongodb  journal = true  # Turn on/off security.  Off is currently the default @@ -17,7 +14,7 @@ journal = true  #verbose = true  # Disable the HTTP interface (Defaults to port+1000). -nohttpinterface = true +#nohttpinterface = true  # Accout token for Mongo monitoring server.  #mms-token = <token> diff --git a/Services/mongo/run.sh b/Services/mongo/run.sh new file mode 100644 index 0000000..3dd509d --- /dev/null +++ b/Services/mongo/run.sh @@ -0,0 +1,92 @@ +#!/bin/bash +source /bin/sx-lib.sh + +function check_mongodb_environment { +    check_environment +    if [ ! -v APP_PATH ]; then +        APP_PATH="/data/mongodb" +        export APP_PATH +    fi +    if [ ! -v LOG_PATH ]; then +        LOG_PATH="/data/logs/mongodb" +        export LOG_PATH +    fi +} + +function display_container_mongodb_header { +    echo "+=====================================================" +    echo "| Container   : $HOSTNAME" +    echo "| OS          : $(</etc/redhat-release)" +    echo "| Engine      : $(mongo --version | 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 DATA_PATH ]; then +        echo "| Data path   : $DATA_PATH" +    fi +    if [ -v LOG_PATH ]; then +        echo "| Log path    : $LOG_PATH" +    fi +    if [ -v LOADSQL_PATH ]; then +        echo "| sql path    : $LOADSQL_PATH" +    fi +    echo "+=====================================================" +} + + +# Begin configuration before starting daemonized process +# and start generating host keys +function begin_config { +    echo "=> BEGIN MONGODB CONFIGURATION" +    if [[ ! -d $DATA_PATH ]]; then +        echo "log directory $DATA_PATH not found" +        mkdir -p $DATA_PATH; chmod 0774 $DATA_PATH +        echo "data directory $DATA_PATH CREATED" +    else  +        echo "data directory $DATA_PATH EXIST" +    fi +    if [[ ! -d $LOG_PATH ]]; then +        echo "log directory $LOG_PATH not found" +        mkdir -p $LOG_PATH; chmod 0774 $LOG_PATH +        echo "log directory $LOG_PATH CREATED" +    else  +        echo "log directory $LOG_PATH EXIST" +    fi +    chmod 0774 $DATA_PATH $LOG_PATH;  +    chown mongodb:mongodb $DATA_PATH $LOG_PATH;  +} + + + +# End configuration process just before starting daemon +function end_config { +    echo "=> END MONGODB CONFIGURATION" +} + +# Start the mongodb server as a deamon and execute it inside  +# the running shell +function start_daemon { +    echo "=> Starting mongodb daemon ..." +    su mongodb +    display_container_started +    exec /usr/bin/mongod --config $MONGOCONF --logappend --logpath $LOG_PATH \ +    --dbpath $DATA_PATH --journal --httpinterface \ +    --rest --master --storageEngine mmapv1 +} + + +if [[ "$0" == *"run.sh" && ! $1 = "" ]];then +    eval "$@";  +fi + +check_mongodb_environment | tee -a $STARTUPLOG +display_container_mongodb_header | tee -a $STARTUPLOG +begin_config | tee -a $STARTUPLOG +end_config | tee -a $STARTUPLOG +start_daemon | tee -a $STARTUPLOG diff --git a/Services/mongo/sx/mongod.sh b/Services/mongo/sx/mongod.sh deleted file mode 100644 index 9bb6281..0000000 --- a/Services/mongo/sx/mongod.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -export TERM=dumb -export MONGO_CONF=/etc/mongodb.conf -export MONGO_LOGDIR=/var/log/mongodb -export MONGO_DATADIR=/var/lib/mongodb - - -# Begin configuration before starting daemonized process -# and start generating host keys -function begin_config { -    echo "=> Begin mongod configuration for host $HOSTNAME" -    mkdir -p $MONGO_LOGDIR -    mkdir -p $MONGO_DATADIR -} - -# End configuration process just before starting daemon -function end_config { -    stop_server -    echo "=> End mongod configuration ..." -} - -# Start the mongod server in background. Used to perform config -# against the database structure such as user creation -function start_server { -    echo "===> Starting mongod server ..." -    /usr/bin/mongod --config $MONGO_CONF & -    sleep 8 -} - -# Stop the mongod server running in background.  -function stop_server { -    echo "===> Stopping mongod server ..." -    /usr/bin/mongod --shutdown; sleep 2 -    killall mongod; sleep 6 -} - -# Start the mongod server as a deamon and execute it inside  -# the running shell -function start_daemon { -    echo "=> Starting mongod daemon ..." -    exec /usr/bin/mongod --config $MONGO_CONF --quiet run -} - - -if [[ "$0" == *"mongod.sh" && ! $1 = "" ]];then -    eval "$@";  -fi
\ No newline at end of file diff --git a/Services/mongo/sx/mongod_run.sh b/Services/mongo/sx/mongod_run.sh deleted file mode 100644 index 6a0f018..0000000 --- a/Services/mongo/sx/mongod_run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -source /sx/mongod.sh - -begin_config -end_config - -start_daemon
\ No newline at end of file diff --git a/Services/php/docker-compose.yml b/Services/php/docker-compose.yml index 04f7ac3..8ea5414 100644 --- a/Services/php/docker-compose.yml +++ b/Services/php/docker-compose.yml @@ -3,8 +3,8 @@ server:  #  image: sx-php    container_name: "php-server"    mem_limit: 1g -  memswap_limit: 2g -  cpu_shares: 4 +  memswap_limit: 1g +  cpu_shares: 5    restart: "on-failure:2"    environment:      CONTAINER_TYPE: "service" diff --git a/docker-compose.yml b/docker-compose.yml index d3a9b59..be63b68 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,8 +24,9 @@ memcache:      service: server  #mongo: -#  build: Services/mongo/ -#  container_name: "startx-sv-mongo" +#  extends: +#    file: Services/mongo/docker-compose.yml +#    service: server  #nodejs:  #  build: Services/nodejs/ | 
