What is Docker? Introduction guide to Docker for beginners.
Docker! It’s a kind of hot cake right now in the IT industry. Docker is a thing now! If you are into system administration, IT operations, developments, or DevOps then at some point in time you may have or will come across work Docker and you wonder what is docker? Why is docker so famous? So, in this small introduction guide to Docker, we will explain to you about Docker.
Read all docker or containerization related articles here from KernelTalk’s archives.
What is Docker?
Docker is another layer of virtualization where virtualization happens at the operating system level. It’s a software container platform and currently leading this sector globally. You must be familiar with VMware which is virtualization at bare metal level but docker takes one step forward and virtualize things at OS level and hence removing all hardware management, capacity planning, resource management, etc. VMware runs a number of virtual machines (VMs) on single server hardware (refer Figure 1) whereas Docker runs a number of containers on a single Operating System (refer Figure 2). So in simple terms, Docker containers are just processes sharing a host operating system to perform their tasks.
Lets quickly run through the difference between VM and Docker containers. I tabulated the difference for a quick read.
Virtual machine v/s Docker container
|Its a mini version of physical machine
|Its just a process
|Runs on hypervisor virtualization
|Runs on Linux. (HyperV needed if you run on Windows/MAC)
|Has its own guest OS
|Can be used only after guest OS boot finishes
|Immediately ready to use when launched
|Uses hardware resources of Host
|Uses only OS resources like binaries/libraries of Host
|Resource management needed
|No resource management
|It runs as long as admin/guest OS doesnt power it off
|It runs as long as command runs which container executed at startup.
|VM stops when you shutdown guest OS
|Once the command exits, container stops
Docker engine mainly runs on Linux. So if you are running Docker on Windows or MAC then it’s actually running tiny Linux VM in the background on your Windows or MAC and on top of it, it’s running its own engine to provide you Docker functionalities on non-Linux platform.
Since Docker engine runs containers it also termed as containerization!
Why use Docker?
Docker containers are portable. They can be stored as an image which can be copied to any other machine and can be launched there. This ensures even if host OS parameters, version changes containers still functions the same across the different OS.
Containers use the host operating system, they don’t have their own OS to boot when containers are launched. It means they are almost available for use immediately as there is not booting of OS of anything that sort which takes time to prepare the container for use. Docker containers are fast to use!
They use resources from host OS, there is no resource management like adding/removing CPU, memory, storage, etc tasks on containers!
There are lots of functionality, flexibility being added to Docker every month. Its fast-evolving virtualization concept and gives you more ease of managing IT infra.
What are Docker variants available to use?
At present, there are two editions available. CE and EE. CE stands for Community Edition and EE stands for Enterprise Edition. Let’s see the difference between Docker CE and Docker EE.
|Primarily for development use
|Use this edition for Production environment
|Do it yourself. No support
|Support subscription from Docker
|For personal use
|For enterprise/big/production use
Docker also releases in two forms. Stable and Edge. Let’s see the difference between Docker stable release and Docker edge release.
|Its tested final release
|Its kind of beta release
|Includes upcoming features/functionalities
|For dev/prod use
|For experimental use only
|New release every quarter
|New release every month
|No support for issues faced
Where to get Docker?
Docker can be downloaded from Docker’s official store. For each platform, related instructions are included. Detailed installation steps and other information on Docker can be found on Docker’s official documentation portal. You can also refer to our article to install Docker on Linux.
I believe that should be enough for an introductory article on Docker. If you have any questions/feedback, please leave us to comment below or reach us using the contact form.