Juma EvansWhen I first heard about Docker, I thought it was something extremely complex that only senior...
When I first heard about Docker, I thought it was something extremely complex that only senior developers used.
Until recently, that is. When I finally started learning Docker, I found out how amazing it is, and I want to share what I've learned.
If you're just starting out, this is for you.
So…
1. What Is Docker?
Docker is a tool that lets you package your application with everything it needs to run:-dependencies, libraries, system tools, and your code;into something called a container.
2. What Problem Does Docker Solve?
Think of it like this:
"It works on my machine" stops being an excuse.
With Docker, if it works inside the container, it works everywhere.
Before Docker, this is what used to happen:
Developer X runs the application successfully.
Developer Y tries to run it, and it breaks.
Developer X tells Developer Y: “But it works on my machine!”
Why?
Different environments:
° Different operating systems
° Different versions of NODE or Go or Python
° Different installed dependencies
Docker solves this by creating a consistent environment that travels with your application.
3. What Is a Container?
A container is like a lightweight, portable box for your application.
But unlike a full virtual machine:
° It starts fast—usually in seconds
° It uses fewer resources
° It's easy to share and move around
How It Works:
When I first installed Docker, created my Dockerfile, built an image, and it actually worked…
I felt like I unlocked a new level in development 😂.
That was the moment I realized:
This is how real-world applications are deployed.
Why Every Beginner Should Learn Docker
Here is why I believe Docker is worth learning early:
🛠 Things That Confused Me at First
To be honest:
° Images vs. Containers: I couldn't keep them straight. (Think of an image as a recipe and a container as the actual cooked meal.)
° Dockerfile syntax: It looked scary at first glance.
° Ports: Mapping ports from the container to my computer didn't make sense initially.
But after building just one simple container for a Go app, everything started connecting.
What Next?
Now that I understand the basics, I plan to:
° Containerize my Go projects
° Learn Docker Compose (for running multiple containers)
° Understand how containers are used in production
One step at a time.
Summary
Imagine you bake a cake 🍰 at home.
You pack:
°The cake
°The ingredients list
°The exact oven settings
°The instructions
Then you put everything inside one box.
Now, no matter where that box goes, Nairobi, Kisumu, or New York, anyone can open it and get the exact same cake.
That is exactly what Docker does.
It puts:
. Your app
. The tools it needs
. The correct settings
Inside one “box” called a container.
So instead of saying:
“It works on my machine.”
You can confidently say:
“It works everywhere.”