Friday, April 19, 2019

What is Docker?



Docker is mainly a software development platform and a kind of virtualization technology that makes it easy for us to develop and deploy apps inside of neatly packaged virtual containerized environments. Meaning apps run the same, no matter where they are of what machine they are running on. 
Docker containers can deploy to just about any machine without any compatibility issues. So our software says system agnostic, making software simpler to use, less work to develop and easy to maintain and deploy. 

These containers running on our machine or server act like little microcomputers with very specific jobs, each with their own operating system and their own isolated CPU processes, Memory and network resources. Because of this, they can be easily added, removed, stopped and started again without affecting each other of the host machine.


Containers usually run one specific task such as a MySQL database or a NodeJS application and then networked together and potentially scaled. A developer will usually start by accessing the DockerHub, an online cloud repository of Docker containers and pull one containing a pre-configured environment for their specific programming language, such as Ruby or NodeJS with all of the files and frameworks needed to get started. Home users can experience Docker as well, using containers for popular apps like Plex media server, NextCloud and many other opensource apps and tools.

Docker is a form of virtualization but unlike virtual machines, the resources are shared directly with the host. This allows users to run many Docker containers where users may only be able to run a few virtual machines.
 A virtual machine has to quarantine off a set of resources, HDD space, memory and processing power, emulate hardware and boot an entire operating system. Then the VM communicates with the host computer via a translator application running on the host operating system called a ‘Hypervisor’.
Docker communicates natively with the system kernel, bypassing the middleman on Linux machines and even Windows 10 and Windows Server 2016 and above. This means users can run any version of Linux in a container and it will run natively.
Not only that, Docker uses less disk space too as it is able to reuse files efficiently by using a layered file system. If you have multiple docker images using the same base image, for instance, Docker will only keep a single copy of the files needed and share them with each container.

No comments:

Post a Comment

My Experience in AF Final Project

AF final project!!! Actually, I was not ready to do a project. I had to go to work daily and study for final exams. I didn't even kno...