Software applications have become a necessity in the current world and to access them on our machines we usually go through the process of installing them. Now I am pretty sure we all have had a day where we download an installer and run it only to be greeted with a bunch of error pop-ups saying that the installation has failed.
And what we do next, run to Google, as usual, to troubleshoot the issue and find a way to make it work. On a good day the general tip of “Run as administrator” works or the plethora of quick fixes present on the various forums on the internet. But there are times when we just keep running in circles to no end and have no solution to make it work.
Now this above problem of installing applications not just on our machines but on multiple platforms including servers is what Docker is trying to simplify and fix. Docker makes it very easy to install and run software without worrying about setups and dependencies.
So now onto the main question, what is Docker and how does it work?
Docker is an open-source tool that is used for automating the deployment of applications that are containerized 🤯. Didn’t understand anything from it right?
Docker Taxonomy #
Docker will always be closely associated with words like images, containers, command line, daemon and registry.
Imagine Docker as just another application, this application is made up of two main parts one is the Docker CLI and the next is the Docker Server a.k.a Docker Daemon. These two tools are what make up the application which we use to interact with images, containers, and registries.
- Docker CLI: A command-line tool that we use to issue commands to the Docker Daemon.
- Docker Daemon: A tool that is responsible for handling and creating the images, running containers.
- Image: A single static file with all the dependency and configuration required to run a program, install software or even create an environment.
- Containers: An instance of the image which will be running on the desired machine viz is called as Docker Host.
- Registry: A library of pre-built images that can be pulled for creating containers, for example, Docker Hub is a public registry.
Docker is an application that reduces the painstaking effort we put in for the installation process, and this can be extended to the creation and deployment of larger environments.
Hope this helped you understand the basic terminologies of docker and why is it used 🥳 We will take a deeper dive into Docker concepts in our upcoming posts 🙌
Till then Stay Safe, Keep Learning 🤗