Introduction to Docker

What is Container?

image.png

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Comparison of Docker Container and Virtual Machines?

Containers Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. Containers take up less space than VMs (container images are typically tens of MBs in size), can handle more applications and require fewer VMs and Operating systems.

image.png.

Virtual Machines Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers. The hypervisor allows multiple VMs to run on a single machine. Each VM includes a full copy of an operating system, the application, necessary binaries and libraries – taking up tens of GBs. VMs can also be slow to boot. image.png

What is Docker?

Docker is container platform that allows you to build, test and deploy the application quickly. A developer defines all the applications and it's dependencies in a Dockerfile which is then used to build a Docker images that defines a docker containers.Doing this ensures that your applications run in any environment.

Docker Official Website