From f1e2b846410cb6fc34da5f3ce4b85dc035810eb3 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Thu, 30 Jan 2014 13:13:54 -0600 Subject: system/docker: Added (manager for applications in linux containers) Signed-off-by: Robby Workman --- system/docker/config/docker.default | 3 ++ system/docker/config/docker.logrotate | 8 ++++ system/docker/config/rc.docker | 80 +++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 system/docker/config/docker.default create mode 100644 system/docker/config/docker.logrotate create mode 100644 system/docker/config/rc.docker (limited to 'system/docker/config') diff --git a/system/docker/config/docker.default b/system/docker/config/docker.default new file mode 100644 index 000000000000..ae2989490d56 --- /dev/null +++ b/system/docker/config/docker.default @@ -0,0 +1,3 @@ +## Set defaults used by the docker daemon +## These are flags passed after `docker -d` +#DOCKER_OPTS= diff --git a/system/docker/config/docker.logrotate b/system/docker/config/docker.logrotate new file mode 100644 index 000000000000..41f96a65d481 --- /dev/null +++ b/system/docker/config/docker.logrotate @@ -0,0 +1,8 @@ +/var/log/docker.log { + rotate 5 + notifempty + missingok + size=5M + compress + delaycompress +} diff --git a/system/docker/config/rc.docker b/system/docker/config/rc.docker new file mode 100644 index 000000000000..bf6e183e4cc8 --- /dev/null +++ b/system/docker/config/rc.docker @@ -0,0 +1,80 @@ +#!/bin/sh + +# Short-Description: Create lightweight, portable, self-sufficient containers. +# Description: +# Docker is an open-source project to easily create lightweight, portable, +# self-sufficient containers from any application. The same container that a +# developer builds and tests on a laptop can run at scale, in production, on +# VMs, bare metal, OpenStack clusters, public clouds and more. + + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin + +BASE=docker + +DOCKER=/usr/bin/$BASE +DOCKER_PIDFILE=/var/run/$BASE.pid +DOCKER_LOG=/var/log/docker.log +DOCKER_OPTS= + +if [ -f /etc/default/$BASE ]; then + . /etc/default/$BASE +fi + +# Check docker is present +if [ ! -x $DOCKER ]; then + echo "$DOCKER not present or not executable" + exit 1 +fi + +docker_start() { + echo "starting $BASE ..." + if [ -x ${DOCKER} ]; then + # If there is an old PID file (no docker running), clean it up: + if [ -r ${DOCKER_PIDFILE} ]; then + if ! ps axc | grep docker 1> /dev/null 2> /dev/null ; then + echo "Cleaning up old ${DOCKER_PIDFILE}." + rm -f ${DOCKER_PIDFILE} + fi + fi + nohup ${DOCKER} -d -p ${DOCKER_PIDFILE} ${DOCKER_OPTS} >> ${DOCKER_LOG} 2>&1 & + fi +} + +# Stop docker: +docker_stop() { + echo "stopping $BASE ..." + # If there is no PID file, ignore this request... + if [ -r ${DOCKER_PIDFILE} ]; then + kill $(cat ${DOCKER_PIDFILE}) + fi +} + +# Restart docker: +docker_restart() { + docker_stop + docker_start +} + +case "$1" in +'start') + docker_start + ;; +'stop') + docker_stop + ;; +'restart') + docker_restart + ;; +'status') + if [ -f ${DOCKER_PIDFILE} ] && ps -o cmd $(cat ${DOCKER_PIDFILE}) | grep -q $BASE ; then + echo "status of $BASE: running" + else + echo "status of $BASE: stopped" + fi + ;; +*) + echo "usage $0 start|stop|restart|status" +esac + +exit 0 -- cgit v1.2.3