zlacker

[return to "Nitro: A tiny but flexible init system and process supervisor"]
1. andrew+Dj[view] [source] 2025-08-22 20:59:59
>>todsac+(OP)
I'm always torn when I see anything mentioning running an init system in a container. On one hand, I guess it's good that it's designed with that use case in mind. Mainly, though, I've just seen too many overly complicated things attempted (on greenfield even) inside a single container when they should have instead been designed for kubernetes/cloud/whatever-they-run-on directly and more properly decoupled.

It's probably just one of those "people are going to do it anyway" things. But I'm not sure if it's better to "do it better" and risk spreading the problem, or leave people with older solutions that fail harder.

◧◩
2. bityar+cp[view] [source] 2025-08-22 21:33:39
>>andrew+Dj
Yes, application containers should stick to the Unix philosophy of, "do one thing and do it well." But if the thing in your docker container forks for _any_ reason, you should have a real init on PID 1.
◧◩◪
3. pas+St[view] [source] 2025-08-22 22:01:08
>>bityar+cp
is there any issue besides the potential zombies? also, why can't the real pid1 do it? it sees all the processes after all.
◧◩◪◨
4. MyOutf+3A[view] [source] 2025-08-22 22:37:55
>>pas+St
Mostly just zombies and signal handlers.

And your software can do it, if it's written with the assumption that it will be pid1, but most non-init software isn't. And rather than write your software to do so, it's easier to just reach for something like tini that does it already with very little overhead.

I'd recommend reading the tini readme[0] and its linked discussion for full detail.

[0]: https://github.com/krallin/tini

[go to top]