When we work on any development. What is the excuse that we use to hear the most. It is “This code was working on my machine there may be something wrong with your machine“. One of the major objective of docker is to solve this problem. Docker solves this problem by building a container which runs your app and then ships the container. Thus helps in keeping the environment constant. Lets see what are docker and containers.
What are Docker and Containers: An introduction
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density.
It makes use of Linux Containers also known as LXCs. These are user space interface for linux kernal containment which make it possible to run multiple isolated containers on one host. These are lightweight alternative to VMs as they don’t require hypervisors like Virtual Box, Vmware or any other.
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.
A simple comparison of container and Virtual Machine is shown in below image taken from here
So with the above read we know how is docker solving “This code was working on my machine may there is something wrong with your machine” problem. In our coming article I will be showing how we can use docker and run our applications using docker.
Liked the article, Please share and subscribe. Want to read more articles related to Docker visit the below link.