Docker Containers, FCC, ans Servers
At Yelp we use Docker containers everywhere: we run tests in them, build tools around them, and even deploy them into production. In this post we introduce dumb-init, a simple init system written in C which we use inside our containers.
Lightweight containers have made running a single process without normal init systems like systemd or sysvinit practical. However, omitting an init system often leads to incorrect handling of processes and signals, and can result in problems such as containers which can’t be gracefully stopped, or leaking containers which should have been destroyed.
“We literally retired two Sun E25Ks, which as background, these systems each weigh one ton. We clearly did not want to load those into the trucks, and they were 11 years old. Those were moved to newer server blades that were lighter, more modular, etc., so that they could be more easily transported to the commercial data facility. Those one-ton systems could now be gracefully retired and disposed of as appropriate,” Bray said.