Docker: A 'Shipping Container' for Linux Code
Not so very long ago, shipping goods over long distances was a very different matter than it is today. Numerous types of products were often jumbled together in a single vessel, sometimes with untoward consequences. Stack the bricks next to the bananas, for example, and you may have a mess on your hands when the shipment arrives.
It's a similar challenge, in many ways, in today's heterogeneous computing world of multiple stacks and multiple hardware environments. "Dependency hell" is just one possible result, in the words of PaaS provider dotCloud, as applications get deployed across different hardware environments, including public, private and virtualized servers.
It was the invention of the intermodal shipping container back in the 1950s that relieved a considerable amount of shipper and carrier pain, of course. For Linux developers, there's open source Docker.