Note :I’m extremely grateful to Nana Janashia ❤️ for explaining the concepts with extreme clarity in her channel TechWorld with Nana. https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA
Last week while I was reading the book, Kubernetes: Scheduling the Future at Cloud Scale; my 5 year old daughter Subhadra, came by and asked curiously what the book was about. I got a bit confused, then remembered a quote of Albert Einstein I’ve read - “If you can’t explain it to a six year old, you don’t understand it yourself.” I took a moment and I tried to express it as a story.
Part 1 — The Origin of Containers
Among the silicon chips forests, thrives the Cloud Kingdom where applications lived and died. Applications are created by a group of humans, and the life and death of these applications depend on the actions of these humans. These humans are called computer engineers (and your father and mother happens to be one of them 👹 )
*Subhadra becomes a bit curious 😳 *
Many applications flourished for a very long life as their creators crafted them with the utmost elegance, while some others died a gruesome death.
As the application creators wanted to have the cloud kingdom thrive, some of them came together with the intention of creating a force that could help the applications to live longer and in the effort of the same, they created a force called “Container Runtimes”.
The word was spread among the software engineering community that now the spirit of an application can be held inside a container. The one who can master the spells of a container runtime can use the magic of building up the application and store them in a magical Image. These magical images when introduced to the “Container Runtime’ with a spell can give life to containers keeping the application living inside them. Docker, became one of the most popular container runtimes among the software engineers.
“You are bluffing”, Subhadra said. “There are no spells in the real world”
Yes, darling, we call it the commands. The spell to build an image is
docker build [OPTIONS] PATH | URL | -
and the spell to give life to an application from an image is
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
“So do you know all these spells ?” She asked with curiosity
Well, I know only some of them. (I had to be honest 🥴 )
Those software engineers who mastered these spells found this magic very interesting. There were many more spells that allowed software engineers to control the containers. They stored the sprits of the applications as images in a place called docker-hub and in many other private as well as public registries. Software engineers began to make use of the containers world wide, the cloud kingdom in the silicon forests were flourished with applications, but they didn’t realise, another big problem was awaiting them …