Today, there is a buzz all around about containerization and Docker, so let’s see the features and components of Docker in a nutshell. Docker is an opensource platform for developers and sysadmins to build, ship, and run distributed applications based on Linux containers. It is basically a container engine which uses Linux Kernel features such as namespaces and control groups to create containers on top of an operating system and automate application deployment on the container. It provides a light weight environment to run the application code. Where as Containers allow users to package up an application with all the parts it needs, such as libraries and other dependencies, and ship it all out as one package.
Docker makes sure that the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.
Features of Docker
- An isolated, rapid framework.
- An opensource solution
- Cross Cloud infrastructure
- Moderate CPU/memory overhead
- Fast Reboot
Components of Docker in nutshell
Docker is made up of the following major components:
a) Docker Daemon
Docker daemon runs on a host machine. A docker user can not directly interact with the daemon, as the daemon needs the docker client in order to interact.
b) Docker Client
It is the primary user interface to Docker which helps users to interact with the Docker Daemon. It processes the commands from the user and communicates back and forth with a Docker daemon.
c) Docker Images
These are ready-only templates that help launch Docker containers. A docker image can be of CentOS operating system with Apache and your web application installed. These images are used to create the docker containers. Docker allows to build new images or you can simply edit and update the images.
d) Docker Registries
Docker Registries holds the docker images and these registries are either public or private stores from where you upload or download images. The public docker registry provides a huge collection of existing images for use so its also called Docker Hub. You can easily edit and update the images as per your requirements and can upload them to Docker registries.
- When the docker pull or docker run commands, the required images will be pulled from your configured registry.
- when you use the docker push command, your image is pushed to your configured registry.
e) Docker containers
Each Docker container is an isolated & secured application platform which holds everything that is needed for an application to run. You can perform run, start, stop, and migration and delete operations on a Docker container. Docker containers can run on any computer, on any infrastructure, and in any cloud.
Hope Docker in a nutshell was quite helpful to get an idea of what a Docker is and what are its Features and Components.
We offer server administration services with lowest response times at competitive pricing models. You can check out our Server Management plans by using the link below.
Read our exciting blog Post: How to install Suhosin under different Linux Distributions