Jun 28 2025
Docker is like a box that contains your app and everything it needs to run. no matter where you run it, it just works.
Okay that might sound like a lot at first so before we jump into docker itself, let’s first understand Why docker was created? in the first place. It all started with one frustating issue every developer has faced.
“It works on my machine.”
You’ve built a cool app. It runs fine on your system. You share the code with a friend, Boom. It breaks. Missing dependencies, wrong versions, weird OS bugs.
This is the problem docker was designed to solve.
Let’s say you’ve built a backend app using Python and Flask.
You’ve installed Python and Flask on your machine, and everything works perfectly.
But now, you share your app with a friend… and they can’t run it. Why?
So what now? Do they have to install Python, install Flask, set everything up exactly like you did?
That’s painful.
Instead of making your friend install all the dependencies manually, you can just send them a Docker image and that contains your app plus everything it needs to run.
They just run:
docker run your-app
And it works regardless of their OS, system setup or environment.
Docker runs on top of your host machine and uses Linux containers to run your apps. It uses host machine(aka your operating system) kernel and a layered file system to store your apps and their dependencies containerized.
In the next post, we’ll build our first Docker container from scratch. See you then! 👋