DEV Community

Discussion on: Explain Containers Like I’m Five?

Collapse
 
wuz profile image
Conlin Durbin

I think it helps to think about why they are called containers and how that differs from virtual machines.

If you think about shipping containers, they are these self-contained units of something, that you then stack up on a boat. A container by itself probably wouldn't float and it definitely wouldn't be able to move across the water. So the boat shares some of its resources with the container - like it's motor and it's floating ability. That is how containers work with their host operating system. The host system (let's say Ubuntu) shares some resources with the container. The container then does it's own thing, in its self-contained system. That container doesn't really care what kind of boat it is on - it will always contain the same thing, regardless of if it is on a battleship or a dinghy. The resources it has access to might change though.

In contrast, a VM is like a complete boat, floating in the pool of a cruise ship. It can move on its own and outside of some hardware resources doesn't really rely much on its host. That smaller boat has a bunch of stuff it doesn't need (like it's own motor), but it doesn't really know that. To that boat, it is still floating on water and might need those resources later.

Hope that helps!

Collapse
 
banzyme2 profile image
ENDEESA

Great analogy

Collapse
 
wuz profile image
Conlin Durbin

Here is a much better, more in-depth explanation of the same thing:

gsferreira.com/archive/2018/03/exp...