1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/docs/sources/use/host_integration.md
O.S.Tezer c932667cd2 Docs auto-conversion fixes and MD marking and structure improvements.
- Remove redundant chars and all errors caused by RST->MD conversion.
   e.g. [/#, /\, \<, />, etc.]
 - Fix broken inter-document links
 - Fix outbound links no-longer active or changed
 - Fix lists
 - Fix code blocks
 - Correct apostrophes
 - Replace redundant inline note marks for code with code marks
 - Fix broken image links
 - Remove non-functional title links
 - Correct broken cross-docs links
 - Improve readability

Note: This PR does not try to fix/amend:

 - Grammatical errors
 - Lexical errors
 - Linguistic-logic errors etc.

It just aims to fix main structural or conversion errors to serve as
a base for further amendments that will cover others including but
not limited to those mentioned above.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)

Update:

 - Fix backtick issues

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-04-24 22:19:32 +10:00

1.9 KiB

page_title: Automatically Start Containers page_description: How to generate scripts for upstart, systemd, etc. page_keywords: systemd, upstart, supervisor, docker, documentation, host integration

Automatically Start Containers

You can use your Docker containers with process managers like upstart, systemd and supervisor.

Introduction

If you want a process manager to manage your containers you will need to run the docker daemon with the -r=false so that docker will not automatically restart your containers when the host is restarted.

When you have finished setting up your image and are happy with your running container, you can then attach a process manager to manage it. When your run docker start -a docker will automatically attach to the running container, or start it if needed and forward all signals so that the process manager can detect when a container stops and correctly restart it.

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 --name redis_server. To create an upstart script for our container, we create a file named /etc/init/redis.conf and place the following into it:

description "Redis container"
author "Me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
  /usr/bin/docker start -a redis_server
end script

Next, we have to configure docker so that it's run with the option -r=false. Run the following command:

$ sudo sh -c "echo 'DOCKER_OPTS=\"-r=false\"' > /etc/default/docker"

Sample systemd Script

[Unit]
Description=Redis container
Author=Me
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a redis_server
ExecStop=/usr/bin/docker stop -t 2 redis_server

[Install]
WantedBy=local.target