Docker Cheatsheet
Docker is the standard for containerized development. This cheatsheet covers essential commands from running containers to multi-service Compose setups, each with practical examples.
Updated: 2026-07-15·30 commands
Quick Reference by Task
| What you want to do | Command |
| Start a container | docker run / docker compose up |
| Stop containers | docker stop / docker compose down |
| Check status | docker ps / docker compose ps |
| View logs | docker logs -f |
| Enter a container | docker exec -it bash |
| Build an image | docker build -t . |
| Pull / Push images | docker pull / docker push |
| Clean up disk | docker system prune -a |
Container(10)
| Command | Level | ||
|---|---|---|---|
docker psList running containers | Basic | docker ps | |
docker ps -aList all containers (including stopped) | Basic | docker ps -a | |
docker runCreate and start a new container | Basic | docker run -d -p 8080:80 --name my-app nginx | |
docker startStart a stopped container | Basic | docker start my-app | |
docker stopStop a running container | Basic | docker stop my-app | |
docker restartRestart a container | Basic | docker restart my-app | |
docker rmRemove a stopped container Ensure container is stopped and data is backed up before removal | Basic | docker rm my-app | |
docker exec -itExecute a command in a running container | Intermediate | docker exec -it my-app bash | |
docker logsView container logs | Basic | docker logs -f my-app | |
docker container pruneRemove all stopped containers Data in stopped containers will be permanently lost, proceed with caution | Intermediate | docker container prune -f |
Image(8)
| Command | Level | ||
|---|---|---|---|
docker imagesList local images | Basic | docker images | |
docker pullPull an image from a registry | Basic | docker pull node:20-alpine | |
docker buildBuild an image from a Dockerfile | Intermediate | docker build -t my-app:latest . | |
docker rmiRemove a local image | Basic | docker rmi my-app:latest | |
docker pushPush an image to a remote registry | Intermediate | docker push username/my-app:latest | |
docker buildx buildBuild images with BuildKit (multi-arch, advanced cache) | Expert | docker buildx build --platform linux/amd64,linux/arm64 -t my-app:latest --push . | |
docker saveSave one or more images to a tar archive | Intermediate | docker save -o my-image.tar my-app:latest | |
docker loadLoad an image from a tar archive | Intermediate | docker load -i my-image.tar |
Network(2)
| Command | Level | ||
|---|---|---|---|
docker network lsList Docker networks | Intermediate | docker network ls | |
docker network createCreate a custom network | Intermediate | docker network create my-network |
Volume(2)
| Command | Level | ||
|---|---|---|---|
docker volume lsList Docker volumes | Intermediate | docker volume ls | |
docker volume createCreate a Docker volume | Intermediate | docker volume create my-data |
Compose(4)
| Command | Level | ||
|---|---|---|---|
docker compose upStart all services defined in Compose | Intermediate | docker compose up -d | |
docker compose downStop and remove all Compose containers and networks | Intermediate | docker compose down | |
docker compose logsView logs for Compose services | Intermediate | docker compose logs -f web | |
docker compose psList container status for Compose project | Intermediate | docker compose ps |
System(4)
| Command | Level | ||
|---|---|---|---|
docker system pruneRemove unused containers, images, networks, build cache Use -a flag with caution — removes all unused images | Intermediate | docker system prune -a | |
docker statsShow live container resource usage (CPU/memory/network) | Intermediate | docker stats | |
docker system dfShow Docker disk usage | Intermediate | docker system df -v | |
docker eventsStream real-time events from the Docker daemon | Intermediate | docker events --filter 'type=container' --filter 'event=stop' |
This cheatsheet is compiled from official tool documentation. Last updated: 2026-07-15.