🚢 Inside Docker: Understanding the Engine that Powers Modern DevOps

Abdul RaheemAbdul Raheem
3 min read

Docker changed the game for developers and DevOps engineers—but how does it actually work behind the scenes? Today, let’s break it all down.


🧠 What You’ll Learn

  • What the Docker engine is and how it works

  • Difference between Docker Images, Containers, Volumes, and Networks

  • Why Docker is lightweight and faster than VMs

  • What really happens when you run docker run nginx


🧰 Docker Engine: The Core of It All

Docker isn’t just a command line tool—it's a system with 3 main components:

1. Docker Client

This is what you interact with when you type commands like docker pull or docker run. The client sends your instructions to the daemon.

2. Docker Daemon (dockerd)

The engine that does the heavy lifting. It builds images, runs containers, manages volumes/networks, and more.

3. Docker REST API

This is how the client and daemon talk. The Docker client uses HTTP requests to communicate with the daemon through this API.


šŸ“¦ Images, Containers, Volumes & Networks

Let’s simplify these core concepts:

TermWhat It IsAnalogy
ImageRead-only template with app & depsRecipe
ContainerA running instance of an imageDish made from recipe
VolumePersistent storage outside the containerUSB drive for your container
NetworkAllows containers to talk to each otherWiFi for containers

šŸ†š Docker vs Virtual Machines

Before Docker, teams used Virtual Machines (VMs). Here’s why Docker is a huge upgrade:

FeatureVirtual MachineDocker
Boot timeMinutesSeconds
OS OverheadFull guest OS per VMShares host kernel
Resource usageHeavy (RAM, CPU)Lightweight
PortabilityVM images are hugeDocker images are small

šŸš€ Why Docker is Fast and Lightweight

Docker doesn’t virtualize hardware—it uses the host’s OS kernel. That means:

  • Less memory usage

  • Faster startup

  • Smaller images

  • Easier deployment

Docker uses Union File Systems (UnionFS) like OverlayFS, which stacks image layers to save space and allow fast versioning.


šŸ” What Happens When You Run docker run nginx

Here’s the flow under the hood:

  1. Check if nginx image exists locally
    → If not, pull from Docker Hub

  2. Create a container from the image

  3. Assign a network and volume (if specified)

  4. Start the container
    → Now Nginx is running inside its own isolated environment!


🧪 Quick Recap

  • Docker is built on client-daemon architecture

  • Containers are lightweight, isolated app instances

  • Docker is faster than VMs because it skips full OS virtualization

  • When you run docker run, it does more than just ā€œstart somethingā€


āœļø What’s Next?

Tomorrow, I’ll explore Dockerfile basics and how to write your own custom images. Stay tuned.

šŸ“Œ Daily updates here on Hashnode
šŸ“¢ Weekly recaps on LinkedIn – follow to learn with me!


0
Subscribe to my newsletter

Read articles from Abdul Raheem directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Abdul Raheem
Abdul Raheem

Cloud DevOps | AWS | Terraform | CI/CD | Obsessed with clean infrastructure. Cloud DevOps Engineer šŸš€ | Automating Infrastructure & Securing Pipelines | Bridging Gaps Between Code and Cloud ā˜ļø I’m on a mission to master DevOps from the ground up—building scalable systems, automating workflows, and integrating security into every phase of the SDLC. Currently working with AWS, Terraform, Docker, CI/CD, and learning the art of cloud-native development.