Docker is a container management service. The keywords of Docker are develop, ship and run anywhere. The whole idea of Docker is for developers to easily develop applications, ship them into containers which can then be deployed anywhere. The initial release of Docker was in March 2013 and since then, it has become the buzzword for modern world development, especially in the face of Agile-based projects.
Features of Docker
- Docker has the ability to reduce the size of development by providing a smaller
footprint of the operating system via containers.
- With containers, it becomes easier for teams across different units, such as
development, QA and Operations to work seamlessly across applications.
- You can deploy Docker containers anywhere, on any physical and virtual machines
and even on the cloud.
- Since Docker containers are pretty lightweight, they are very easily scalable.
Components of Docker
Docker has the following components
- Docker for Mac – It allows one to run Docker containers on the Mac OS.
- Docker for Linux – It allows one to run Docker containers on the Linux OS.
- Docker for Windows – It allows one to run Docker containers on the Windows OS.
- Docker Engine – It is used for building Docker images and creating Docker containers.
- Docker Hub – This is the registry which is used to host various Docker images.
- Docker Compose – This is used to define applications using multiple Docker containers.
The site has all information and documentation about the Docker software. It also has the download links for various operating systems.
Docker is an engine designed to help you build, ship and execute applications stacks and services as lightweight, portable and isolated containers. The Docker engine sits directly on top of the host operating system. Its containers share the kernel and hardware of the host machine with roughly the same overhead as processes launched directly on the host machine.
But Docker itself isn’t a container system, it merely piggybacks off the existing container facilities baked into the OS, such as LXC on Linux. These container facilities have been baked into operating systems for many years, but Docker provides a much friendlier image management and deployment system for working with these features.