From 02884ee42971be141edde8964d72a2d2c7f63cfe Mon Sep 17 00:00:00 2001 From: Ryan Seto Date: Wed, 13 Nov 2013 13:34:34 -0500 Subject: [PATCH] Add more depth to the upstart example in host_integration.rst I found that the original example wasn't starting the docker container when docker is started. So, I modified it using information I found from https://groups.google.com/forum/#!msg/docker-user/OWz8EOpiXuo/L_uxGFQuYlkJ Also, upstart wasn't starting docker if it wasn't running ahead of time. So, I added a change to the docker upstart script to solve this. --- docs/sources/use/host_integration.rst | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/sources/use/host_integration.rst b/docs/sources/use/host_integration.rst index 92012df3d6..b51b2efcfe 100644 --- a/docs/sources/use/host_integration.rst +++ b/docs/sources/use/host_integration.rst @@ -29,6 +29,10 @@ Here are a few sample scripts for systemd and upstart to integrate with docker. Sample Upstart Script --------------------- +In this example we've already created a container to run Redis with an id of +0a7e070b698b. To create an upstart script for our container, we create a file +named ``/etc/init/redis.conf`` and place the following into it: + .. code-block:: bash description "Redis container" @@ -36,7 +40,32 @@ Sample Upstart Script start on filesystem and started lxc-net and started docker stop on runlevel [!2345] respawn - exec docker start -a 0a7e070b698b + script + # Wait for docker to finish starting up first. + FILE=/var/run/docker.sock + while [ ! -e $FILE ] ; do + inotifywait -t 2 -e create $(dirname $FILE) + done + /usr/bin/docker start -a 0a7e070b698b + end script + +Next, we have to edit the docker upstart script (``/etc/init/docker.conf``) +so that we run docker with ``-r=false``. In this example, we also ensure +that docker will start running before *redis* is started. + +.. code-block:: bash + + description "Docker daemon" + + start on filesystem and started lxc-net + start on (starting redis) + stop on runlevel [!2345] + + respawn + + script + /usr/bin/docker -d -r=false + end script Sample systemd Script