Monday, October 14, 2019

Docker Vs VM

In an earlier article we discussed Kubernetes and introduced Docker.

What is Docker?
As per wiki:

Docker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.


In simpler terms:

  • An application can have various components like Webserver, database etc where we could encounter an issue related to libraries or dependencies.
  • We can create a container per component and use docker to deploy them over a particular OS.
  • These can then communicate with each other.
  • Docker containers share the same OS kernel.
What is the difference between VMs and Dockers?

  1. Each VM comes with its own OS. Containers have applications (software) deployed for a particular OS kernel.
  2. VMs will be heavy and consume high disk space and compared to a container.
  3. VMs takes time to boot.
  4. VMs have their own OS and hence we can have VMs containing Windows and Linus deployed together. Docker containers share the OS kernel and hence having different OS software is not possible. This is however not a disadvantage since we can have two different deployments communicating with each other.

No comments:

Post a Comment