DEV Community

JohnOdhiambo
JohnOdhiambo

Posted on

Docker Components

Docker streamlines application deployment by encapsulating applications and their dependencies into standardized, scalable and isolated containers(containerization).
Main Components of Docker
Images
Read-only templates that are used to build containers. Images are created with Dockerfile instructions or can be downloaded from a Dockery registry like Docker Hub.
Container
An instance of an image. It’s a lightweight, standalone package that includes everything needed to run an application.
Dockerfile
A script-like that defines the steps to create a Docker image.
Docker Engine
The docker engine is responsible for running and managing containers. It’s composed of the docker daemon and docker CLI that communicates through REST API.
Docker Daemon
The daemon is a persistent background service responsible for managing objects. It does so via listening for API requests. Docker objects include images, containers, networks and storage volumes.
Docker registry
These are repositories where docker images are stored and can be distributed from. Docker registries can be public or private. Docker hub is the default public registry that Docker is configured with.
Docker network
Containers run on networks allowing them to communicate with each other and the outside world. The network provides the communication gateway between containers running on the same/ different hosts.
Volumes
Allow data to persist outside of a container and to be shared between container instances, even after a container is deleted. Volumes decouple data life from the container lifecycle. The components listed above all tie together to produce a simple system for developers to automate the deployment, scaling and management of applications.

Top comments (0)