summaryrefslogtreecommitdiffstats
path: root/system/tini/README
blob: b29f69a2bc9705f090df2df348e4a8f6a90d2733 (plain)
Tini is a tiny but valid init for containers.  All Tini does is spawn a
single child (Tini is meant to be run in a container), and wait for it
to exit all the while reaping zombies and performing signal forwarding.

Using Tini has several benefits:

- It protects you from software that accidentally creates zombie
  processes, which can (over time!) starve your entire system for PIDs
  (and make it unusable).
- It ensures that the default signal handlers work for the software you
  run in your Docker image.  For example, with Tini, SIGTERM properly
  terminates your process even if you didn't explicitly install a signal
  handler for it.
- It does so completely transparently!  Docker images that work without
  Tini will work with Tini without any changes.