# Docker example — package once, run anywhere

A container is your app plus everything it needs, in one standard box.
This example packages a tiny web page into an image and runs it.

## Build and run

```bash
docker build -t hello-app .           # build the image (the blueprint)
docker run -d -p 8080:80 hello-app    # run a container from it
# open http://localhost:8080
```

## Look around

```bash
docker ps             # list running containers
docker logs <id>      # see its output
docker stop <id>      # stop it
```

## The point

Wherever Docker is installed, `docker run hello-app` behaves the same way —
portable, predictable, quick to start.

But running *one* container is easy. Running hundreds reliably — placing them,
healing them, scaling them — is a different job. That job is Kubernetes.
See [`../kubernetes/`](../kubernetes/).
