In this blog, we’ll cover:

  • What is Docker and Containerization
  • Docker Container Lifecycle
  • Docker Container Lifecycle
  • Key Docker Commands and Use Cases

What is Docker?

Docker is the most widely used containerization platform. Released in 2013, Docker allows developers to automate the deployment of applications inside containers, ensuring consistency from development to production.


A Docker container wraps up code, system tools, libraries, and settings into a portable package—making it fast, lightweight, and environment-independent.

Docker Container Lifecycle:


DOCKER HUB
    ↓ Pull / ↑ Push
DOCKER ENGINE
    ↓
DOCKER IMAGES
    ↓
DOCKER CONTAINERS
    ├── Run
    ├── Stop
    └── Delete
  

Components of the Docker Ecosystem

Docker's ecosystem consists of several key components:

1. Docker Engine

  • Docker Engine is the heart of the docker ecosystem.
  • It is responsible for managing your container runtimes.
  • It works on top of operating system level.
  • It works on top of operating system level.

2. Docker Images

  • Docker Image is like the template of a container.
  • It is created in layers.
  • Any new changes in the image results in creating a new layer.
  • One can launch multiple containers from a single docker image

3. Docker Containers

  • A Docker Container is a lightweight software environment.
  • It works on top of the under lying OS kernel.
  • It is small and therefore is highly portable.
  • Faster Startup: Containers launch in seconds.
  • It is small and therefore is highly portable.

4. Docker Hub

  • Docker Hub is a central public docker registry.
  • It can store custom docker images.
  • The service is free, but your images would be public.
  • It requires username/password.

5. Docker Volumes

  • Docker Containers cannot persist data.
  • To persist data in containers, we can use Docker Volume.
  • A Docker Volume can connect to multiple containers simultaneously.
  • If not created explicitly, a volume is automatically created when we create a container.

6. Dockerfile

  • Dockerfile is a YAML file, which is used to create custom containers.
  • It can include commands that have to be run on the command line.
  • This Dockerfile can be used to build custom container images

Stay tuned for the next post in the series:
👉 DevOps Essentials #11: Installing docker and common docker commands.