diff options
author | Ghiunhan Mamut (aka V3n3RiX) <venerix@rogentos.ro> | 2016-04-05 17:26:20 +0000 |
---|---|---|
committer | Ghiunhan Mamut (aka V3n3RiX) <venerix@rogentos.ro> | 2016-04-05 17:26:20 +0000 |
commit | a8dce448298c7ed33bb260eefbe38fced3769e20 (patch) | |
tree | cc428410bc2f622c7cc30215a8e6d5424f94375f /app-emulation/docker/files/docker-r2.initd | |
parent | 9a2f8110322c3c3b3beb6e16f1d5253da1f53e89 (diff) | |
parent | fc83dad4ca029bc14eec9abf3fda47d551e99453 (diff) |
Merge branch 'master' into 'master'
[docker] added docker to the repo. included support for our binary kernel and systemd
See merge request !3
Diffstat (limited to 'app-emulation/docker/files/docker-r2.initd')
-rw-r--r-- | app-emulation/docker/files/docker-r2.initd | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/app-emulation/docker/files/docker-r2.initd b/app-emulation/docker/files/docker-r2.initd new file mode 100644 index 00000000..b081d9c7 --- /dev/null +++ b/app-emulation/docker/files/docker-r2.initd @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log} +DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid} +DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker} +DOCKER_WORKAROUND_1422=${DOCKER_WORKAROUND_1422:-0} +DOCKER_WORKAROUND_1422_DELAY=${DOCKER_WORKAROUND_1422_DELAY:-1} + +start() { + checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE" + + ebegin "Starting docker daemon" + start-stop-daemon --start --background \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" \ + --stdout "$DOCKER_LOGFILE" \ + --stderr "$DOCKER_LOGFILE" \ + -- -d -p "$DOCKER_PIDFILE" + eend $? + ret=$? + + if [ $ret -eq 0 ] \ + && [ "$DOCKER_WORKAROUND_1422" ] \ + && [ "$DOCKER_WORKAROUND_1422" -gt 0 ] \ + ; then + # see https://github.com/dotcloud/docker/issues/1422 + ewarn "Working around gh#1422 (via busybox image); this may take a moment" + + # we were calling "docker run" more quickly than "docker -d" could get + # fired up, so our workaround wasn't successful without a short delay + sleep $DOCKER_WORKAROUND_1422_DELAY + + # TODO when we get https://github.com/dotcloud/docker/pull/1589, these + # both need -rm so we clean up after ourselves (thanks, @eliasp!) + docker run -i -t busybox true &> /dev/null || true + # first run will fail, so we ignore its output and result and run again + docker run -i -t busybox true + + ewend $? + fi + + return $ret +} + +stop() { + ebegin "Stopping docker daemon" + start-stop-daemon --stop \ + --exec "$DOCKER_BINARY" \ + --pidfile "$DOCKER_PIDFILE" + eend $? +} |