What is Docker - Everything you should know about Docker

After reading this article I promise you that, the concept of Docker will be absolutely clear to you. So let's get started and talk about "what is docker?" Whenever a product is been designed the first and the only goal with that product is "I want to solve a specific problem or somehow I want to reduce the friction that users are currently facing in that problem". So in order to understand docker first and foremost, we need to understand what is the problem and the statement that docker is trying to resolve.


Whenever a developer develops any product there are certain issues which are almost every time occurs. Well, the problem is, whenever you are designing a project it works absolutely fine on your machine i.e. the developer machine. But as soon as that project is being moved on to the production state maybe onto servers or maybe somebody else computer, maybe your friends or maybe your team manager's computer.

In that case, the project usually fails to work with the same performance or same Optimisation and same level of working even when the project is moving from one place to another place. Although here we are talking about big-scale projects that include something like Node, Django, Python, JavaScript, and all those stuff.
But just to give you a bare minimum basic example, whenever you develop any website using PHP or maybe asp.net whenever you work on that project and move the project on to the webserver that are definitely some art and uncertainty that occurs. Maybe your images are not being loaded properly maybe the path is a little bit different or glitch in some of these cases.
That is a classic example When Everything works on the developer machine but as soon as it moves to another place it doesn't work like that. So the classic problem is "It works on my machine" This further brings up the Classic debate of developers saying it works absolutely fine on my machine you can come and check and while putting that project to production or any other machine the other guy says "Hey! you probably forgot to mention some of the dependencies that you might have installed by working on some other project and that's why the problem is occurring.


So this debate is pretty nasty. Docker is designed to specifically address this exact problem "It works on my machine". First and foremost docker is just a completely different thing and is compatible with almost any programming language or any project that you are working on. it's almost a sheet of paper on which we can put up anything, it's almost like that.

Docker allows you to have absolutely sealed airtight container and these containers are the absolute heart of the docker. These containers wrap up your entire code and these are absolutely portable, the portability is the absolute charm of the docker. Now you can take this container and wherever you are going to put this container it can work absolutely and exactly like how it works on your machine. Not only that, but docker also allows you to have social containers. what does that mean? The containers are just like your shared social status on Instagram or Facebook. It allows you to publish these containers on a social platform.

Now the classic example is whenever you are learning MySQL, installing MySQL can be very challenging. I'm not talking about the PHP MySQL package. I talking about just the core MySQL. It is the most challenging thing to install on your system and I personally have felt in the boot camps that somebody is running Windows, Mac, or Linux and it's not easy to process to do so. But that process can be done frictionless with the help of docker.

So Docker is a software that allows you to create this container and these containers are not just any containers they are super powerful and super packed up and consist of a lot of things. These containers are packed up with your code, your dependencies, your configuration, some of the processes that you are running, some of the networking information that you are running, and some of the special cases it also consists of a chunk of some of the operating system that is responsible for tweaking out something in your code.


So in order to summarize we can divide this docker into two three main essential things that it does for you.
Number one thing it's a client-side application program. You can just install the docker and it can do all the things for you including designing the container for you and you don't have to worry about anything all of your codes and configuration will be fine-packed and you can just move it anywhere you like it.

Docker can also act as a service and can be deployed onto any server so that you can take your container and can be deployed in any place you like. Docker also acts as a social networking platform just like you share anything you can share your docker image so that whenever somebody wants you to start at a given specific checkpoint it can start from there.
And last but not least, docker is also a company that does manage it all for you

Recent Articles

Changing Database from SQLite to MySQL - Django

One of the main benefit to use django for web development is that it comes with an inbuilt database/filesystem i.e SQLITE. Managing database and files is super easy in django. But there are some drawbacks of using SQLITE...

  - 2023-07-12
How to download a file in django

Sometimes we have to serve a file which may be a large file from our project directory. Suppose you want to transfer a file from your project directory to your friend or to some other person/server/platform....

  - 2023-07-12
How to change base url or domain in sitemap - Django

A sitemap is the first important SEO step which elaborates a website's content to search engines. It provides information to search engines about the available content on our site, which helps them to crawl webpages for indexing....

  - 2023-07-12
How to Make a Website

After reading this article you will never ever search for web development guide neither on Google nor on YouTube....

  - 2023-07-12
What is Javascript - Features and usages

I'm kind of a person who always likes to get started by installing the things & writing some code. I love that but this time JavaScript requires a little bit of the theoretical basic so that we can understand what things we are learning, how hard and powerful it is and where they can be applied....

  - 2023-07-12
Top 5 Interview Questions : Tips for HR round

In this article we are talking about the most famous HR questions and the mind-set to answer those HR questions....

  - 2023-07-12
How to get job in IT - Perfect resume guide

In today's article I want to talk about how to prepare the best resume to get a job in IT. Yes, everybody wants to have a job and in order to get a job you have to apply for it and when you apply for that, the resume is one good thing that you always submit....

  - 2023-07-12