Systemd and the Docker daemon

Systemd provides a standard process for controlling programs / processes on Linux hosts. In effect it has replaced initd. If you're using a somewhat modern Linux system (RHEL 7.x, Suse 12, Ubuntu 15 etc), then you will encounter systemd in any case. One of the nice things about systemd is that it is a single command that can be used to manage almost all aspects of a process. Also, systemd is easily configurable, through what are known as systemd unit files.

Here I'm documenting how systemd can be used with the docker daemon service. For the most part this should not be any different from how systemd would interact with any service. But for my and my sanity's sake, and in the interest of helping others find this information, I am listing out the easiest ways of using systemd with docker


  1. A system that uses Systemd. I am using a RHEL 7.2 system.
  2. Docker installed, preferably the latest 1.10.x or 1.9.x

Using systemd to control the docker daemon