# Docker

> Docker is a platform to build, ship and run applications in containers: lightweight, isolated processes created from portable images.

- Source: https://www.itwonderlab.com/docker/
- Published: 2026-10-06
- Updated: 2026-10-06
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

**Docker** packages an application and its dependencies into an **image** and runs it as an isolated **container**. The same image runs on a laptop, in a CI pipeline and in production on [ECS](https://www.itwonderlab.com/aws-ecs/), [Fargate](https://www.itwonderlab.com/aws-fargate/) or [EKS](https://www.itwonderlab.com/aws-eks/).

### Key concepts

- **Docker Engine**: the daemon (`dockerd`) that builds images and runs containers through containerd and runc.
- **Docker CLI**: the `docker` command, a client that talks to the daemon.
- **Image**: a read-only stack of layers with the application and its metadata. See [Docker basics](https://www.itwonderlab.com/docker-containers-images-explained/).
- **Container**: a running instance of an image, a Linux process isolated with namespaces and cgroups.
- **Registry**: where images are stored and shared: Docker Hub, [Amazon ECR](https://www.itwonderlab.com/aws-ecr/) and others.
- **Dockerfile** and **Compose**: the files that describe how to build an image and how to run several containers together.

On macOS and Windows, Docker needs a Linux VM. [Rancher Desktop](https://www.itwonderlab.com/rancher-desktop/) and Docker Desktop provide it.

### Learn it

The series [Docker and Rancher Desktop](https://www.itwonderlab.com/tutorials/docker/) goes from the first container to Compose, BuildKit, image security and a local Kubernetes cluster.
