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