|
|
|
@ -20,6 +20,24 @@ and wait for it to exit all the while reaping zombies and performing |
|
|
|
|
signal forwarding. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Why Tini? |
|
|
|
|
--------- |
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
If you'd like more detail on why this is useful, review this issue discussion: |
|
|
|
|
[What is advantage of Tini?][0]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using Tini |
|
|
|
|
---------- |
|
|
|
|
|
|
|
|
@ -225,6 +243,7 @@ Special thanks to: |
|
|
|
|
+ [Asko Soukka][41] for packaging Tini for Nix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[0]: https://github.com/krallin/tini/issues/8 |
|
|
|
|
[10]: https://github.com/krallin/tini-images |
|
|
|
|
[20]: https://github.com/krallin/ |
|
|
|
|
[30]: https://github.com/tianon |
|
|
|
|