Note: answer based only on docs, I didn't play with docker much. If you choose scripting you could pick a higher layer than just `ps`, based on either: - the [`docker-compose events`][1] CLI: > Usage: events [options] [SERVICE...] > > Options: > --json Output events as a stream of json objects > > Stream container events for every container in the project. - the [`docker events`][2] CLI: > **Description** > > Get real time events from the server You'd be looking for the `die` event of the container(from [Extended description][3]): > Use `docker events` to get real-time events from the server. These > events differ per Docker object type. > > **Object types** > > CONTAINERS > > - `die` The event appears to be generated regardless of the restart policy (from [Docker Events Explained][4]): [![enter image description here][5]][5] But you're right, there's [a ton of monitoring tools][6] out there, I also suspect some already do what you're seeking. Just aimlessly wandering through those links I got to [Implementing Docker event monitoring from scratch][7]: > What else? **I can create alerts on them**. The next time any of my > containers decide to puke and die, I can get an SMS message about > their doomed state. [1]: https://docs.docker.com/compose/reference/events/ [2]: https://docs.docker.com/engine/reference/commandline/events/ [3]: https://docs.docker.com/engine/reference/commandline/#object-types [4]: https://gliderlabs.com/devlog/2015/docker-events-explained/ [5]: https://i.sstatic.net/6vYMW.png [6]: https://www.google.com/search?q=docker%20monitor%20container [7]: https://scoutapp.com/blog/monitoring-docker-events