- Get link
- X
- Other Apps
- Get link
- X
- Other Apps
What Is Docker?
There
are two ways of looking at Docker. The first approach involves seeing Docker
containers as really lightweight Virtual Machines. The second approach is to
see Docker as a software packaging and delivery platform. This latter approach
proved a lot more helpful to human developers and resulted in widespread
adoption of the technology.
An Overview of Docker Containers
Traditionally,
cloud service providers used Virtual Machines to isolate running applications
from one another. A hypervisor, or host operating system, provides virtual CPU,
memory and other resources to many guest operating systems. Each guest OS works
as if it is running on actual physical hardware, and it is, ideally, unaware of
other guests running on the same physical server.
VMware
was one of the first to popularize this concept. However, there are several
problems with this virtualization. First of all, the provisioning of resources
takes time. Each virtual disk image is large and bulky and getting a VM ready
for use can take up to a minute!
Second,
and a more important issue, was the inefficient utilization of system
resources. OS kernels are control freaks that want to manage everything that’s
supposedly available to them. So when a guest OS thinks 2GB of memory is
available to it, it takes control of that memory even if the applications
running on that OS uses only half of it.
On the
other hand, when we run containerized applications, we virtualize the operating
system (your standard libraries, packages, etc) itself, not the hardware. Now,
instead of providing virtual hardware to a VM, you provide a virtual OS to your
application. You can run multiple applications and impose limitations on their
resource utilization if you want, and each application will run oblivious to
the hundreds of other containers it is running alongside.
Docker — As a Developer’s
Tool
One of
the problems that developers have is the difference between the production
server, where the applications run, and their own dev machines (usual laptops
and workstations) where applications are developed. Let’s imagine that you have
Windows 10 running on your desktop but you want to write applications for
Ubuntu 18.04. Maybe you are using Python v3.6 to write your application, while
the Ubuntu server is still running at 3.4.
There
are just too many variables to take into account and so we use Docker to
abstract that complexity away. Docker can be installed on any OS, even Windows
and Mac OS X are well-supported. So you can package your code into a Docker
image, run and test it locally using Docker to guaranteed that the containers
that were created from that Docker image will behave the same way in
production.
Visualpath is the Best place for Online Training
Courses in Hyderabad. We are Providing Docker and Kubernetes Online Training.
We make you Expert on this course by our Top Skilled Professional Trainers
.Check for More Info @9989971070
Docker and Kubernetes Online Training
Docker and Kubernetes Training in Hyderabad
Kubernetes Online Training
Location:
Flat no: 205, 2nd Floor Nilgiri Block Aditya Enclave, Ameerpet, Hyderabad, Telangana 500016, India
- Get link
- X
- Other Apps
Comments
Post a Comment