Created
September 13, 2015 03:14
-
-
Save darron/0445082ad6e9afffbe01 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
description "Docker daemon" | |
start on (local-filesystems and net-device-up IFACE!=lo) | |
stop on runlevel [!2345] | |
limit nofile 524288 1048576 | |
limit nproc 524288 1048576 | |
respawn | |
kill timeout 20 | |
pre-start script | |
# see also https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount | |
if grep -v '^#' /etc/fstab | grep -q cgroup \ | |
|| [ ! -e /proc/cgroups ] \ | |
|| [ ! -d /sys/fs/cgroup ]; then | |
exit 0 | |
fi | |
if ! mountpoint -q /sys/fs/cgroup; then | |
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup | |
fi | |
( | |
cd /sys/fs/cgroup | |
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do | |
mkdir -p $sys | |
if ! mountpoint -q $sys; then | |
if ! mount -n -t cgroup -o $sys cgroup $sys; then | |
rmdir $sys || true | |
fi | |
fi | |
done | |
) | |
end script | |
script | |
# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker) | |
DOCKER=/usr/bin/$UPSTART_JOB | |
DOCKER_OPTS= | |
if [ -f /etc/default/$UPSTART_JOB ]; then | |
. /etc/default/$UPSTART_JOB | |
fi | |
exec "$DOCKER" daemon $DOCKER_OPTS | |
end script | |
# Don't emit "started" event until docker.sock is ready. | |
# See https://github.com/docker/docker/issues/6647 | |
post-start script | |
DOCKER_OPTS= | |
if [ -f /etc/default/$UPSTART_JOB ]; then | |
. /etc/default/$UPSTART_JOB | |
fi | |
if [ -f /var/run/flannel/subnet.env ]; then | |
## if flannel subnet env is present, then use it to define | |
## the subnet and MTU values | |
. /var/run/flannel/subnet.env | |
DOCKER_OPTS="$DOCKER_OPTS --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}" | |
else | |
echo "Flannel subnet not found, exiting..." | |
exit 1 | |
fi | |
if ! printf "%s" "$DOCKER_OPTS" | grep -qE -e '-H|--host'; then | |
while ! [ -e /var/run/docker.sock ]; do | |
initctl status $UPSTART_JOB | grep -qE "(stop|respawn)/" && exit 1 | |
echo "Waiting for /var/run/docker.sock" | |
sleep 0.1 | |
done | |
echo "/var/run/docker.sock is up" | |
fi | |
end script |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment