Hello to every penguin. Here your penguin back again with another article, and in this article, we’re gonna talk about what is Docker and Container. After reading this article. I promise you that the concept of the docker will be absolutely clear to you. By the end of the An easy guide to understand what is Docker and Container article. I will also share one experience, The personal one where docker was absolutely lifesaver for me so let’s get started.
Understand what is Docker and Container.
Whenever a product is being designed. The first and only goal for that product is to want to solve a specific problem are somehow. I want to reduce the fiction that users are currently facing in that problem. So in order to understand the docker first and foremost. We need to understand what is the problem statement. That docker is trying to resolve. Whenever a developer develops any product. There are certain issues which are probably almost every time occurs well. That problem is whenever you are designing a project. It works absolutely fine in your machine the developer machine. But as soon as that project is being moved on to the production state maybe on to servers or maybe somebody’s else computer maybe your friends or maybe your team manager computer.
Some more problems occur.
There are definitely some uncertainties that occur. Maybe images are not being loaded properly maybe the path is a little bit different or glitchy. In some of these cases that is a classic example when everything works on the developer machine. But also as it moved to another place, it doesn’t work like that. So the classic problem is it works on my machine. This further brings the classic debate our developer saying it works absolutely fine on my machine. You can come and check and while putting the project on to the production or any other machine. The other guys say hey you probably forgot to mention some of the dependencies.
That we might have installed while working on some other projects and that’s why the problem is occurring. So this debate is pretty nasty. So docker is designed to specifically address this exact problem. It works on my machine first and foremost docker is just completely different thing and it’s compatible with almost any programming language or any project that you’re working on. It’s like almost a sheet of paper on which you can put up anything it’s almost like that. Docker allows you to have absolutely sealed airtight containers.
These containers are the absolute heart of the docker. These containers wrap up your entire code and these are absolutely portable. The portability is one of the absolute charms of the docker. We can take this container and where ever you’re going to put this container it’s going to work absolutely and exactly like how it worked on your machine not only that docker also allow you to have social containers
What is Social Container?
The social containers are shared just like your social status on your Instagram or Facebook. It allows you to publish these containers onto a social platform. The classic example is whenever you’re learning MySQL installing MySQL can be very challenging. I’m not talking about the PHP MyS ql. I’m talking about just the core MySQL. It’s one of the most challenging things to install on your system and I personally have felt in the boot camps. That while somebody’s running windows mac and Linux. It’s not an easy process to do so. But that process can be done the frictionless with the help of docker.
So docker is a software that allows you to create these containers and these containers are not just any container. 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’re running and in some of the special cases, it also consists of the chunk off some of the operating systems. That is irresponsible of tweaking out some things in your code. So in order to summarize, We can divide this docker into 3 main essential things that it does for you.
Three Best Way to use Dockers.
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 a container for you and you don’t have to worry about anything. Number two All of the codes and config will be packed and you can just move it anywhere. 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. Number three Docker also acts as a social networking platform just like you share anything you can share your docker image. So that whenever somebody wants to start at a given specific checkpoint. It can start there and last but not least Docker is also a company. That does and manages all of this for you.
My Personal experience with Docker and Container.
As I promised at the start of the article I would share some of the personal experience with the docker as well. Here we go now once I was in a boot camp. So one of the students had to install some of the C++ libraries and our goal was to interact with MongoDB using the C++ drivers and some of the libraries. So now in case you have worked any time with C++. You know it’s a nightmare because C++ is not an easy thing to take down. Especially when you have to interact with the drivers of Mongo DB. You need to install a couple of more things not just GCC but a ton of other libraries that need to be installed. Now our goal was to learn that how we can use these drivers into the C++ and the framework that we used was a crow.
So crow is not an easy framework to install and deploy and just even starting it hello world in the crow. So what I did for saving some time off for the entire Bootcamp and for me in that boot camp was to deploy a simple docker-machine of the crow. and I talk to the student how the initial basics of the docker work and within a few moments. All we are able to download my socially shared docker-machine of the crow with hello was already configured and processed everything into It.
We were just on the go. So the training that could have used my entire week in training. How to configure the crow for the first time it just saved me a lot of time because the goal was not to understand the crow. But rather to understand the API integration of MongoDB and C++. So this is how docker and container works. This is so easy and very useful.