Intro. to DOCKER

 

Docker

   Let's say, we are software developers and we are assigned to create a very user-friendly application. we write a million lines of code by spending more no. of days. After creating it we spend some more time testing it. In the testing environment or in the production stage we’ll receive a complaint that says, "your App is not working properly on my device". we might think, “How would it be possible?". 


Docker

   The Reason could be due to:

·     Dependencies

·     Libraries and Versions

·     Framework

·     OS Level features

·     Microservices

That your machine has but not there in the Testing environment.

We need a standardized way to package the application with its dependencies and deploy it in any environment. For this purpose we use Docker.

DOCKER is a tool designed to make it easier to create, deploy, and run applications by using containers.

How does it work?

   Docker packages an application and all its dependencies in a virtual container that can run on any Linux server. Each container runs as an isolated process in the user space and takes up less space than regular machine VMs due to their layered architecture. So it always works the same regardless of its environment.

   In simple words, Docker is an open-source project that makes it easier to create, deploy and run applications. It provides a lightweight environment to run your applications. The applications are packaged in a docker container which contains all the dependencies (libraries, packages) that are needed to deploy the application.


Advantages:

   Let's look at a few advantages of Docker:

1. It is an open-source and freely available tool.


2. It has high efficiency than virtual machines.


3. It provides completely isolated containers for each application. Each application is containerized with all the dependencies and resources hence each container is isolated from the other.


4. Consistent environment throughout the software development cycle. This means that all the software development teams can use the same environment to build, test and deploy an application by running it within a container that supports all the dependencies of the application

5. It uses very little space.

6. It behaves like a version control system. Like Git, it has a remote repository that can save and track all the docker images and containers.

7. It does not hog up all the computer resources (CPU, disk space, etc)

          By using docker, an application can be easily moved around from the developer’s laptop, into the testing environment, and finally into production. By doing this, the developer does not have to worry if the application will run on the production server because all the application dependencies are present within the container.