From ef2c1df934ee7720fd1ccacae042f3deb3b7628d Mon Sep 17 00:00:00 2001 From: startxfr Date: Mon, 8 Dec 2014 02:35:03 +0100 Subject: adding function and startup script for last services images : memcache, nodejs, ooconv and postresql --- Services/nodejs/Dockerfile | 19 +++++++++---------- Services/nodejs/README.md | 2 +- Services/nodejs/app.js | 14 -------------- Services/nodejs/app/app.js | 14 ++++++++++++++ Services/nodejs/nodejs_run.sh | 2 -- Services/nodejs/sx/nodejs.sh | 40 ++++++++++++++++++++++++++++++++++++++++ Services/nodejs/sx/nodejs_run.sh | 7 +++++++ 7 files changed, 71 insertions(+), 27 deletions(-) delete mode 100644 Services/nodejs/app.js create mode 100644 Services/nodejs/app/app.js delete mode 100644 Services/nodejs/nodejs_run.sh create mode 100644 Services/nodejs/sx/nodejs.sh create mode 100644 Services/nodejs/sx/nodejs_run.sh (limited to 'Services/nodejs') diff --git a/Services/nodejs/Dockerfile b/Services/nodejs/Dockerfile index 0dac7de..872648a 100644 --- a/Services/nodejs/Dockerfile +++ b/Services/nodejs/Dockerfile @@ -1,18 +1,17 @@ FROM startx/fedora MAINTAINER Christophe LARUE -COPY nodejs_run.sh /bin/ RUN yum -y install nodejs npm \ && yum clean all \ - && mkdir -p /var/www/html \ - && mkdir -p /var/log/httpd \ - && chmod ug+rx /bin/nodejs_* - -WORKDIR /src -COPY app.js /src/app.js + && mkdir -p /var/nodejs /var/nodejs/app \ + && chmod ug+rx /var/nodejs/app +COPY sx/* /sx/ +COPY app/* /var/nodejs/app/ +RUN chmod ug+rx /sx/nodejs* EXPOSE 8000 +VOLUME ["/var/nodejs/app"] + +ENV MAIN_APP /var/nodejs/app/app.js -#CMD ["node", "/src/app.js"] -CMD ["/bin/nodejs_run.sh"] -ONBUILD CMD ["/bin/nodejs_run.sh"] \ No newline at end of file +CMD ["/sx/nodejs_run.sh"] \ No newline at end of file diff --git a/Services/nodejs/README.md b/Services/nodejs/README.md index e3961df..30c37c0 100644 --- a/Services/nodejs/README.md +++ b/Services/nodejs/README.md @@ -28,7 +28,7 @@ access to the running webserver access to the container itself - docker exec -it nodejs bash + docker exec -it nodejs /bin/bash ## Related Resources * [Sources files](https://github.com/startxfr/docker-images/tree/master/Services/nodejs) diff --git a/Services/nodejs/app.js b/Services/nodejs/app.js deleted file mode 100644 index 1dd5446..0000000 --- a/Services/nodejs/app.js +++ /dev/null @@ -1,14 +0,0 @@ -// Load the http module to create an http server. -var http = require('http'); - -// Configure our HTTP server to respond with Hello World to all requests. -var server = http.createServer(function (request, response) { - response.writeHead(200, {"Content-Type": "text/plain"}); - response.end("Hello World\n"); -}); - -// Listen on port 8000, IP defaults to 127.0.0.1 -server.listen(8000); - -// Put a friendly message on the terminal -console.log("Server running at http://127.0.0.1:8000/"); \ No newline at end of file diff --git a/Services/nodejs/app/app.js b/Services/nodejs/app/app.js new file mode 100644 index 0000000..1dd5446 --- /dev/null +++ b/Services/nodejs/app/app.js @@ -0,0 +1,14 @@ +// Load the http module to create an http server. +var http = require('http'); + +// Configure our HTTP server to respond with Hello World to all requests. +var server = http.createServer(function (request, response) { + response.writeHead(200, {"Content-Type": "text/plain"}); + response.end("Hello World\n"); +}); + +// Listen on port 8000, IP defaults to 127.0.0.1 +server.listen(8000); + +// Put a friendly message on the terminal +console.log("Server running at http://127.0.0.1:8000/"); \ No newline at end of file diff --git a/Services/nodejs/nodejs_run.sh b/Services/nodejs/nodejs_run.sh deleted file mode 100644 index b63a40c..0000000 --- a/Services/nodejs/nodejs_run.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -exec node /src/app.js \ No newline at end of file diff --git a/Services/nodejs/sx/nodejs.sh b/Services/nodejs/sx/nodejs.sh new file mode 100644 index 0000000..fcf3ebb --- /dev/null +++ b/Services/nodejs/sx/nodejs.sh @@ -0,0 +1,40 @@ +#!/bin/bash +export TERM=dumb + +# Begin configuration before starting daemonized process +# and start generating host keys +function begin_config { + echo "=> Begin nodejs configuration for host $HOSTNAME" +} + +# End configuration process just before starting daemon +function end_config { + echo "=> End nodejs configuration ..." +} + +# Start the nodejs server in background. Used to perform config +# against the database structure such as user creation +function start_server { + echo "===> Starting nodejs server ..." + node $MAIN_APP & + sleep 4 +} + +# Stop the nodejs server running in background. +function stop_server { + echo "===> Stopping nodejs server ..." + killall node + sleep 4 +} + +# Start the nodejs server as a deamon and execute it inside +# the running shell +function start_daemon { + echo "=> Starting nodejs daemon ..." + exec node $MAIN_APP +} + + +if [[ "$0" == *"nodejs.sh" && ! $1 = "" ]];then + eval "$@"; +fi \ No newline at end of file diff --git a/Services/nodejs/sx/nodejs_run.sh b/Services/nodejs/sx/nodejs_run.sh new file mode 100644 index 0000000..875dea2 --- /dev/null +++ b/Services/nodejs/sx/nodejs_run.sh @@ -0,0 +1,7 @@ +#!/bin/bash +source /sx/nodejs.sh + +begin_config +end_config + +start_daemon \ No newline at end of file -- cgit v1.2.3