Tutorial for this video can be found here https://semuada.com/articles/geek/230-how-to-install-docker-on-ubuntu-20-04-focal-fossa
If you are an IT professional (Software Developer, IT Infrastructure, or IT Admin), I suggest you to at least understand the concept of containers.
Me myself already using this containers technology especially Docker since 2 years ago, you can see what we have done using docker on my other video.
In this video I'm going to show you how to install docker in Ubuntu 20.04. But before that, let me explain a bit about docker and container technology.
Docker is an application that simplifies the process of managing application processes in containers.
Containers let you run your applications in resource-isolated processes. They’re similar to virtual machines, but containers are more portable, more resource-friendly, and more dependent on the host operating system.
Why do we need docker when we already have Virtual Machine?
Let's take a look at this VM concept, and what are the cons of the VM
Infrastructure is reserved for each VM (Processor, Memory, Storage)
Resource intensive and heavy, because each VM must have it’s own Operating System, and as we know OS itself require some resources.
Runs fewer applications in the server with same hardware specifications, compare to containers technology
Overhead and complexity intensive, using VM we need to maintain and update various OS
Slower Deployment, of course when you deploy a VM, you need to predefined resources, set up OS, libraries and applications
Now let's take a look at containers
As you can see on the diagram, we don't need to reserve Infrastructure (Processor, Memory, Storage), when a containers need more resources, it can use available resources, on the fly, automatically, so you dont need to worry about resource limit on the VM level
Lightweight, bcos it doesn't need additional OS, all containers uses the host OS, and can take resources directly from the host when needed
Containers can runs more applications in the server with same hardware specifications, compare to VM
Containers are lighter, because there's only 1 OS running on the server and to keep up-to-date and maintained
Faster Deployment, simply upload the application and define dependencies
Let me give you another illustration:
For a server with 8 Cores 16 Thread processors, 32 GB Memory, 1TB Storage
VM needs to plan ahead. Each VM at least need 2 processors, 4 GB memory and at least 125GB storage. We also need at least same specification reserved for the Host Operating System. So, we can only create 7 VM max, with assumption each VM runs 1 applications, we can only runs 7 applications.
In Docker, You don’t need to plan ahead, we can have as much containers as possible until the server reach it’s limit
In VM, each VM run it’s own OS, that’s means there will be 8 OS to install and maintained
In Docker, we only need the Host OS
If 1 applications needs more resources, what happens?
In VM, the Processor/ Memory/ Storage usage in the VM will reach 100%. Need to check each VM resource usage so we can recalculate and reconfigure the resources being used by each VM. This reconfiguration will causes VMs to be shut down. In many cases, you need to move that particular VM to other server / to dedicated server
In Docker, The container can use available resources (processor/ memory/ storage) as needed automatically.
Eg. If we have 10 applications, each applications only using 1 processor, that means only 10 processors being used, 6 available. Suddenly 1 applications need 3 processors, then it can use another 2 from the 6 available processors automatically.
How to,install,docker,ubuntu 20.04,focal fossa,linux,quallesqy,docker basic,docker container,docker explained,docker for beginners,docker tutorial,docker tutorial for beginners,focal fossa 20.04 lts,focal fossa linux,focal fossa ubuntu,how to install docker on ubuntu,how to install docker on ubuntu 20.04,how to install docker on ubuntu 20.04 lts,install docker on ubuntu,install docker on ubuntu 20.04,ubuntu 20.04 lts,ubuntu 20.04 tutorial, linux tutorial for newbies