Docker — Absolute beginners analogy
Hi, I am glad you started to learn about Docker which has become one of the rudimentary tool these days.
There are way many posts that give a good technical view of Docker, so I have made this post such that even a non-tech person would understand.
Before going any further look this DIY video (Best to watch this video at 2x speed to save time) : Robot Bug
Let’s say you want to build a Robot Bug for yourself after watching the video. Though you can build it for yourself chances are high that you can’t exactly replicate what was shown in the video because of the materials used in the video.
To make the exact Robot Bug shown in the video, it’s better you use the same tools and materials he had used. He have actually used the following tools and materials:
- vibrating motors
- LEDs
- Battery
- Battery holder (optional)
- Paper clips
- Clothes pin
- Wires
- Glue gun
- Soldering gun and Solder
So, you have to purchase all the materials separately and assemble it to build the Robot Bug. Instead what if you are able to get all the materials in one single box. You can unpack all the materials from the box and start working on your project.
The box in which you have all the materials required for the project are present is called the docker image
Now if someone wants to build a Robot Bug they can buy the box (docker image) and build their own Robot Bug.
So, Docker is a tool which helps to build a docker image.
Now when we deal with a software project, Docker is the tool that is used to build docker image which contains the packages that are needed to run an application
There are other tools similar to Docker which are helpful in building images like Buildah and Podman
As we have understood docker image now, go on explore what containerization is. A container is one which runs the docker image
(Note: This is a very basic explanation of what Docker is for a beginner and you may not find it useful if you have already built docker image, ran the image in a container..)
Below are few more visualization which gives and intuition of what docker is:
pic credit: kDimensions
Related articles: