Docker is an open platform management tool for Linux Containers. It provides a means for developers and system administrators to build and package applications into lightweight containers. Docker consists of the following components:
- Docker Engine – A portable, lightweight runtime and packaging tool
- Docker Hub – A cloud service for sharing applications and automating workflows
Docker is used to create image-based application containers. Image-based containers package an application with the individual runtime stack into a single container. This makes the container-independent from the host operating system and kernel version. As a result, you can run the same application, unchanged, on laptops, data center virtual machines, and any cloud. You can transfer this container to another machine that runs Docker and runs the application without any compatibility issues.
The following lists additional advantages of running applications within Docker containers:
- Docker images contain only the content needed to run an application so they are smaller than virtual machines, which require the entire operating system.
- A Docker container runs faster than an application that includes the overhead of an entire virtual machine.
- A Docker container includes its own network interfaces, file system, and memory, which allows the application running in the container to be isolated and secured from other processes on the host computer.