Docker Cheat Sheet
Quick reference for Docker CLI: containers, images, volumes, networking, and Docker Compose.
A quick reference for Docker commands. Covers containers, images, volumes, networking, and Compose.
Container Lifecycle
| Command | Description |
|---|
| docker run <image> | Create and start a container |
| docker run -d <image> | Run in detached mode |
| docker run -it <image> sh | Run interactively with shell |
| docker run --rm <image> | Remove container on exit |
| docker start <container> | Start a stopped container |
| docker stop <container> | Stop a running container |
| docker restart <container> | Restart a container |
| docker rm <container> | Remove a container |
| docker exec -it <container> sh | Open shell in running container |
Images
| Command | Description |
|---|
| docker build -t <name> . | Build image from Dockerfile |
| docker pull <image> | Pull image from registry |
| docker push <image> | Push image to registry |
| docker images | List local images |
| docker rmi <image> | Remove an image |
| docker tag <src> <dest> | Tag an image |
| docker image prune | Remove unused images |
Inspecting
| Command | Description |
|---|
| docker ps | List running containers |
| docker ps -a | List all containers |
| docker logs <container> | View container logs |
| docker logs -f <container> | Follow container logs |
| docker inspect <container> | Show detailed info (JSON) |
| docker stats | Live resource usage for all containers |
| docker top <container> | Show running processes |
Volumes
| Command | Description |
|---|
| docker volume create <name> | Create a named volume |
| docker volume ls | List volumes |
| docker volume rm <name> | Remove a volume |
| docker volume inspect <name> | Show volume details |
| -v <host>:<container> | Bind mount a host path |
| -v <name>:<container> | Mount a named volume |
Networking
| Command | Description |
|---|
| docker network create <name> | Create a network |
| docker network ls | List networks |
| docker network rm <name> | Remove a network |
| docker network inspect <name> | Show network details |
| --network <name> | Connect container to a network |
| -p <host>:<container> | Map a port |
Docker Compose
| Command | Description |
|---|
| docker compose up | Start all services |
| docker compose up -d | Start in detached mode |
| docker compose down | Stop and remove containers |
| docker compose build | Build/rebuild services |
| docker compose logs -f | Follow logs for all services |
| docker compose ps | List running services |
| docker compose exec <svc> sh | Shell into a service |
Common Flags
| Flag | Description |
|---|
| -d | Detached mode (background) |
| -it | Interactive + TTY (terminal access) |
| --rm | Auto-remove container on exit |
| -p 8080:80 | Map host port 8080 to container port 80 |
| -v ./data:/app/data | Bind mount host directory |
| -e KEY=value | Set environment variable |
| --name myapp | Assign a container name |
| --restart unless-stopped | Auto-restart policy |