= Docker HowTo Auto Start Containers On Reboot An explanation for systemd as a process manager can be found at : {{{https://docs.docker.com/engine/admin/host_integration/}}} Once you are happy with your docker images and container, you must us systemd to restart them. 1. Go to the directory : {{{/etc/systemd/system}}} This directory contains all .service files that are used to start docker containers. 2. Check what docker services are enabled on start up {{{systemctl list-unit-files | grep docker}}} This will list out all the services that are enabled. 3. To create a new service called '''docker-[containername].service''' : {{{sudo vi /etc/systemd/system/docker-[containername].service}}} add the contents similar to the following, but change {{{Description ExecStart ExecStop}}} : {{{[Unit]}}} {{{Description=Redcap 5.7.0 container}}} {{{Requires=docker.service}}} {{{After=docker.service}}} {{{ }}} {{{[Service]}}} {{{Restart=always}}} {{{ExecStart=/usr/bin/docker run -itd -p 81:80 lcbruit/redcap:v1}}} {{{ExecStop=/usr/bin/docker stop -t 2 lcbruit/redcap:v1}}} {{{ }}} {{{[Install]}}} {{{WantedBy=default.target}}} 4. If you have a new container build modify the content of this file. 5. To activate the service run the following commands (rename service name) : {{{systemctl daemon-reload}}} {{{systemctl start docker-redcap_5.7.0.service}}} {{{systemctl enable docker-redcap_5.7.0.service}}} 6. To disable a service run the following commands (rename service name) : {{{systemctl stop docker-redcap_5.7.0.service}}} {{{systemctl disable docker-redcap_5.7.0.service}}} 7. Change will only come to effect on a reboot {{{sudo reboot}}}