Introduction
Laymen explanation
Technical explanation
Use journalctl or systemctl
journelctl example output
root@ubuntu:~/personal/jeffk/cpx# journalctl -xe
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has finished shutting down.
Dec 12 19:16:58 ubuntu systemd[1]: Closed Docker Socket for the API.
-- Subject: Unit docker.socket has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has finished shutting down.
Dec 12 19:16:58 ubuntu systemd[1]: Stopping Docker Socket for the API.
-- Subject: Unit docker.socket has begun shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has begun shutting down.
Dec 12 19:16:58 ubuntu systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has begun starting up.
Dec 12 19:16:58 ubuntu systemd[1]: Listening on Docker Socket for the API.
-- Subject: Unit docker.socket has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has finished starting up.
--
-- The start-up result is done.
Dec 12 19:16:58 ubuntu systemd[1]: docker.service: Start request repeated too quickly.
Dec 12 19:16:58 ubuntu systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
....
systemctl example output
root@ubuntu:~/personal/jeffk/cpx# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/docker.service.d
└─hosts.conf
Active: inactive (dead) (Result: exit-code) since Tue 2017-12-12 19:22:32 IST; 45s ago
Docs: https://docs.docker.com
Process: 14147 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2736 (code=exited, status=1/FAILURE)
Main PID: 14147 (code=exited, status=1/FAILURE)
Dec 12 19:22:32 ubuntu systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Dec 12 19:22:32 ubuntu systemd[1]: Failed to start Docker Application Container Engine.
Dec 12 19:22:32 ubuntu systemd[1]: docker.service: Unit entered failed state.
Dec 12 19:22:32 ubuntu systemd[1]: docker.service: Failed with result 'exit-code'.
Dec 12 19:22:32 ubuntu systemd[1]: docker.service: Service hold-off time over, scheduling restart.
Dec 12 19:22:32 ubuntu systemd[1]: Stopped Docker Application Container Engine.
Dec 12 19:22:32 ubuntu systemd[1]: docker.service: Start request repeated too quickly.
Dec 12 19:22:32 ubuntu systemd[1]: Failed to start Docker Application Container Engine.
Dec 12 19:23:15 ubuntu systemd[1]: Stopped Docker Application Container Engine.
root@ubuntu:~/personal/jeffk/cpx#
The default limit is to allow 5 restarts in a 10sec period. If a service goes over that threshold due to the Restart= config option in the service definition, it will not attempt to restart any further.
Ratelimit on number of restart attempt for a service
Refer man systemd.unit and man systemd.service
Useful link: https://serverfault.com/questions/845471/service-start-request-repeated-too-quickly-refusing-to-start-limit
https://serverfault.com/questions/845471/service-start-request-repeated-too-quickly-refusing-to-start-limit