Common Docker Terminologies
While you are just starting or even with a little experience, sometimes you get overwhelmed by Docker terminologies. But it’s good to adapt it now rather than keep coming back later.
Docker Terminologies
Here’s a plain-English mental model for the major Docker termsโfocused on what each thing actually does, rather than textbook definitions.
Major Docker Terminologies
| Term | Easy definition | Think of it asโฆ |
|---|---|---|
| Dockerfile | A text file containing instructions for how to build an image. | ๐ Recipe |
| Docker Image | A packaged, read-only blueprint containing your app, its dependencies, libraries, and filesystem needed to create containers. | ๐ฆ Template / Package |
| Docker Container | A running (or stopped) instance created from an image. It’s where your application actually runs. | ๐ Running instance |
| Docker Client | The thing you interact with when you type commands like docker run or docker build. It sends your requests to the Docker daemon. | ๐ฎ Remote control |
| Docker Daemon | The background service that receives Docker commands and actually manages images, containers, networks, and volumes. | ๐ท Worker / Manager |
| Docker Engine | The core Docker technology that provides the daemon, API, container runtime, image management, networking, and more. | โ๏ธ The machinery |
| Docker Registry | A place where Docker images are stored so they can be pushed, pulled, and shared. | ๐ช Image warehouse |
| Docker Hub | Docker’s public registry where you can find and share container images. | ๐ Public image marketplace |
| Docker Desktop | A desktop application that packages Docker Engine and useful tools into an easy-to-use environment on Windows/macOS/Linux. | ๐ฅ๏ธ Docker workstation |
| Docker Volume | Storage managed separately from the container so important data can survive even when the container is deleted. | ๐พ Persistent storage |
| Docker Network | A virtual network that lets containers communicate with each other and with the outside world. | ๐ Private network |
| Docker Compose | A tool for defining and running multiple related containers using a YAML file. | ๐ผ Multi-container conductor |
| Docker Tag | A label used to identify a particular version or variant of an image, such as nginx:1.27. | ๐ท๏ธ Version label |
The Big picture
You can connect most of these concepts into one simple story:
๐ Dockerfile
โ
โ docker build
โผ
๐ฆ Docker Image
โ
โ docker run
โผ
๐ Container
โ
โโโโโโโโโดโโโโโโโโโ
โผ โผ
๐พ Volume ๐ Network
๐ฆ Image
โ
โ docker push
โผ
๐ช Registry
โ
โ docker pull
โผ
๐ฆ Image on another machine
โ
โ docker run
โผ
๐ ContainerAnd sitting behind your commands:
You
โ
โ docker run / docker build / docker pull
โผ
๐ฎ Docker Client
โ
โผ
๐ท Docker Daemon
โ
โโโ ๐ฆ Images
โโโ ๐ Containers
โโโ ๐พ Volumes
โโโ ๐ NetworksThe most important distinction to remember:
Dockerfile tells you how to make an image.
Image is what you make.
Container is what you run.
Client is what you use to ask Docker to do things.
Daemon is what actually does the work.
Registry is where images are stored and shared.
Engine is the underlying Docker machinery that makes all of this work.