What is Docker ?
Docker is a containerization platform . It provides Operating System level Virtualization . Which means the container uses the whole system resources which can be managed by cgroups to allocate ram and cpu resources to the containers . Docker works with various kernel modules which are namespaces , cgroups , selinux , netfilter , AppArmor .
1) Namespace – It provides isolation between multiple containers.
2) Cgroups – It helps in resource limitation for containers.
3) SELinux – It provides Internal Security to containers.
4) Netfilter – It works on packet filtering . It works with IPtables.
5) AppArmor – It is a Linux kernel security module .
Docker is platform Independent. It can be Installed in Linux , Windows , Mac. The Operating Systems which Supports these Kernel Modules Namespace , cgroups , netfilter in those Operating Systems . Currently Windows 10 professional , Education and Enterprise supports Docker and with the latest release of Windows Server 2019 new features are added which supports Containerization. Almost all Linux based Operating System Supports Docker.
Docker is developed by the Docker,Inc . It is written in Go Programming Language . These Days Docker are used by Devops Engineers to build , test and Deploy their application on productions .
Docker comes with two editions :-
1) Docker CE (Community Edition) It is Opensource which we can download and use . It is basically used by Developers.
2) Docker EE (Enterprise Edition) It is the Paid Version of Docker which have some additional features. Which is used by Enterprises.