Virtual Machines Vs Docker Container

What is docker?

A Docker container can be described as a wrap around a piece of software that contains everything needed in order to run the software. This is done in order to make sure that the app will run the same no matter what environment it runs in.

VirtualMachines Vs Docker Containers

VirtualBox and VMWare are virtualization apps that create virtual machines that are isolated at the hardware level.

Docker is a containerization app that isolates apps at software level.

irtual Machines
Docker Containers
Hardware level process isolation
OS level process isolation
VMs offer complete isolation of applications from host OS
Docker containers can share some resources with host OS
Each VM has separate OS
Each docker container can share OS resources
Boots in minutes
Boots in seconds
More resource usage
Less resource usage
Pre-configured VMs are hard to find and manage
Pre-built docker containers for home server apps already available
Customizing pre-configured VMs requires work
Building a custom setup with containers is easy
VMs are typically bigger in size as they contain whole OS underneath
Docker containers are small in size with only docker engine over the host OS
VMs can be easily moved to a new host OS
Containers are destroyed and recreated rather than moving (data volume is backed up)
Creating VMs take relatively long time
Dockers can be created in seconds
Virtualized Apps are harder to find and it takes more time to install and run them
Containerized apps such as SickBeard, Sonarr, CouchPotato etc. can be found and installed easily within minutes

No comments:

Post a Comment