#
What is Docker ?
This tutorial explains to you what is Docker. At the end of this article you will understand what Docker is.
Docker is an open-source system (but there is an enterprise version as well) of software containers. Containers help software to run while it is being moved from one environment to another. You can move a container from development to staging or to production with no modifications and no reconfiguration. In a container you have all you need to run a program.
Take a look at the picture above. In this picture you can see the main differences between a virtual machine and a Docker container.
As you can see in that picture, Docker is not a Virtual Machine(VM), but Docker containers and VMs are similar in their goals: to isolate an application and its dependencies into a self-contained unit that can run anywhere. One of the major benefits of containers is portability.
You can see a Docker container as another form of virtualization. The VMs virtualize the hardware, but the Docker containers virtualize the Operating System, splitting it up into virtualized compartments to run container applications.
Docker has the same promise as Java: Write Once. Run Anywhere.
Containers are not new. Companies such as Oracle, HP and IBM have been using containers for decades. In recent years, though, the open source project Docker has gained popularity as an alternative or complement to virtualization.
There are over 12,000 applications already packaged as a Docker image, so it is easy to install such known application one time you have Docker installed. And it is easy to install Docker on Linux.
You can run both Linux and Windows programs and executables in Docker containers. The Docker platform runs natively on Linux (on x86-64, ARM and many other CPU architectures) and on Windows (x86-64).
Docker Inc. builds products that let you build and run containers on Linux, Windows and macOS.