Explain Docker Like I am Five

Hello, I am Jysan Aziz. A Junior developer from software industry. Want to know a brief about docker. So, I will be obliged if someone explains docker like I am five about inner architecture and implementation.

Did you find this post useful? Show some love!

My shot at ELYF:

In your computer, everything works because of little things called "processes". These guys talk to each other to keep everything running. But sometimes they disagree at stuff because one thinks something should be black while the other thinks it should be red (for example, because of incompatible versions).

Maybe you built some super cool process that does super awesome things like letting you buy catnip on the internet. That process needs to talk to other neighbor processes that agree with it on which color the road between them should be and have no distractions around it.
Traditionally, you would send your little process to play with others and hope for the best. But the little guy can eventually grow up and change it's worldviews and opinions on road colors. This will introduce disagreements with it's peers.

Introducing: Hamster balls. The point is that you can send your little process to play with others but inside a protective shell. It will have everything it needs to do it's job within it's little bubble. Also, from it's point of view, it'll be completely alone (processes are loners, don't feel bad for them). You will be able to modify it's behavior and it's environment, and test it way before releasing him into the wild.

Once you have all your processes in their own hamster balls running around and playing safely, you can pick them up, move them around and group them using a crane. If any of them pops or starts throwing a tantrum, you can pick it up and put it in a corner to scold it for being a bad boy (saying "kill it" would be too rough for a 5yr old) or just replace it for a new one.

That was a really lame and childish attempt at explaining containers and a bit of orchestration. Don't know if it helped at all, but it was fun to write.

Thanks a lot for your explanation.

Docker is a company and a suite of tools designed for managing containers, which are lightweight modular components that can be deployed and scaled using sophisticated orchestration tools like Kubernetes.

To a five year old, I would say that it's a tool for making developer's lives more consistent and reliable...after they get through the learning curve. :)

Uh...neither of these explanations good. It's tough to ELI5 without saying the words "container" or "orchestration", which are their own beasts.

Good luck!

Ben Halpern DEV.TO FOUNDER

Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❀️

Plus, no fake comments when you're signed in. πŸ™ƒ

Docker is like a single EXE for your multi-filed application.

Classic DEV Post from Oct 19 '17

What do you Google EVERY. SINGLE. TIME. and never just memorize?

...

READ POST
Follow @ben to see more of their posts in your feed.
Jysan Aziz
Member since Apr 8, 2018
Trending on dev.to
Dev and Designer Communication
#discuss
What's your Developer Story?
#discuss #career
What is your routine for staying fit and healthy?
#discuss
Fullstack developer is a scam term
#programming #development #career
Share Your Best Motivational Quotes
#discuss #javascript
Promise Explained like I'm 5.
#javascript #explainlikeimfive
Translating Integers Into An English String in Ruby
#discuss #ruby
Discussion: Would you consider building new framework or not
#discuss #developer #services #framework