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!

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

Classic DEV Post from Apr 26

What do you think of the new Go logo?

I got a hilarious message from my friend about Go's new look & logo announc...

Follow @jess to see more of their posts in your feed.
Jysan Aziz
Member since Apr 8, 2018
Trending on dev.to
Best Job Types while Learning To Code
#discuss #question #learning
What have you learned from less experienced developers? πŸ€”
Explain Empty Returns Like I'm Five
#explainlikeimfive #beginners
Which Linux Notebook do you recommend?
#discuss #linux #help
Explain Postgresql Views Like I'm Five
#postgres #explainlikeimfive
Founder vs Employee
#discuss #career #startup
Explain Empty Returns Like I'm Five
#explainlikeimfive #beginners
Put dev.to on your resume!
#career #resume