What is Docker? (original) (raw)

Last Updated : 23 Apr, 2026

Docker is an OS‑level virtualization (or containerization) platform, which allows applications to share the host OS kernel instead of running a separate guest OS like in traditional virtualization. This design makes Docker containers lightweight, fast, and portable, while keeping themisolated from one another.

Before Docker

Before Docker, deploying applications across different environments was a nightmare. Differences in dependencies, library versions, and OS configurations led to the infamous “works on my machine” problem.

420047160

How Docker Containers Differ from Virtual Machines

**Docker’s Solution:

Docker solves this by standardizing the runtime environment. By bundling the application code with its specific dependencies into a single unit, it ensures the software runs identically whether it’s on a developer's laptop, a test server, or a cloud cluster.

Docker Architecture and Working

Docker makes use of a client-server architecture.

2

Docker Architecture

  1. **The Docker Client (CLI): The primary way users interact with Docker. When you type docker run, the client sends this command to the daemon via a REST API.
  2. **The Docker Daemon ( dockerd ): The background service (server) that manages Docker objects such as images, containers, networks, and volumes.
  3. **Docker Registry (Docker Hub): A storage system for Docker images. Docker Hub is the largest public registry, allowing developers to share and pull pre-configured images (like Ubuntu, MySQL, or Nginx).

Components of Docker

The following are the some of the key components of Docker:

Docker Engine

Without the Docker Engine, Docker images cannot be built or containers executed.

419253547

Docker Engine

In short, the Docker Engine is the runtime that makes containerization possible by connecting the Docker client with the daemon to build and manage containers efficiently.

Dockerfile

The Dockerfile uses DSL (Domain Specific Language) and contains instructions for generating a Docker image. Dockerfile will define the processes to quickly produce an image. While creating your application, you should create a Dockerfile in order since the Docker daemon runs all of the instructions from top to bottom.

419253548

Dockerfile

Docker Image

A Docker Image is a file made up of multiple layers that contains the instructions to build and run a Docker container. It acts as an executable package that includes everything needed to run an application code, runtime, libraries, environment variables, and configurations.

**How it Works:

**Relation to Containers:

Docker Container

A Docker Container is a lightweight, runnable instance of a Docker Image. It packages the application code together with all its dependencies and runs it in an isolated environment. Containers allow applications to run quickly and consistently across different environments — whether on a developer’s laptop, test servers, or production.

**Relation to Images:

What is Docker Hub?

Docker Hub is a repository service and it is a cloud based service where people push their Docker Container Images and also pull the Docker Container Images from the Docker Hub anytime or anywhere via the internet.

419253549

Docker Hub

Docker Commands

Through introducing the essential docker commands, docker became a powerful software in streamlining the container management process. It helps in ensuring a seamless development and deployment workflows. The following are the some of docker commands that are used commonly:

**Docker has Two Editions

  1. **Community Edition (CE): Free, open‑source, used by individuals, dev teams, open‑source contributors.
  2. **Enterprise Edition (EE): Paid, with security enhancements, certified plugins/images, and enterprise support.