In the microservices world, developing apps is not merely about writing code. It comes with complexity of involving multiple programming languages, frameworks and disconnected interface between tools. Here is where the Docker comes into the picture as it provides freedom to the developers to innovate with their choice of tools, application stacks and deployment environments for projects.
What is Docker?
Docker is an open source project that makes it easy to create containers and container based application. Initially, Docker was built for linux, however it supports Mac and Windows as well. To understand more about docker, we first need to understand about container.
What is Container?
A container is a software unit that packages code and its dependency so that the application can run quickly and reliably from one environment to another. These docker images are lightweight, standalone and has its executable package of software, that is needed to run an application.
The crux of containers are to work uniformly irrespective of environment i.e. you won’t encounter any surprises when the application is deployed from development till production environment.
Comparing Containers and VM
Firstly, let’s understand about virtual machine.
From the diagram, you can see hypervisor allows multiple VM’s to run on a single machine; whereas, each vm has its own operating system and the application/ binaries. As you know virtual machines are bulky, each requires it own operating system. It’s typically in GB-size and its hard to maintain & upgrade. VM’s can also be slow to boot.
From the diagram, you can see multiple containers can run on the same OS Kernal and each of the isolated processes can run in its own user space. Containers are not resource hungry and it takes lesser space than VM’s and it can swiftly boot in comparison to VM’s .
As a Prerequisite, you need Docker desktop to be installed on your machine. You can get the installer from here.
After installing the software, check the version of the application by running docker –version from the command prompt/bash.
In the future articles, we will be extensively working on docker containers especially with .net core application.
I hope you like the article. In case if you find the article interesting then kindly like and share it.