Docker Cheatsheet
Essential Docker commands for containers, images, networking, volumes, and Docker Compose.
Container Basics
docker run -d -p 8080:80 --name myapp nginxRun container in background, map port 8080→80
docker run -it ubuntu bashInteractive shell inside container
docker run --rm -e ENV=prod alpine shAuto-remove on exit, set env variable
docker psList running containers
docker ps -aList all containers (including stopped)
docker stop myappGracefully stop container
docker kill myappForce stop container immediately
docker rm myappRemove stopped container
docker rm -f myappForce remove running container
docker logs -f myappFollow container logs in real time
docker exec -it myapp bashOpen shell inside running container
docker inspect myappDetailed JSON info about container
docker statsLive CPU/memory/network usage
docker cp myapp:/app/file.txt .Copy file from container to host
Run container in background, map port 8080→80
Interactive shell inside container
Auto-remove on exit, set env variable
List running containers
List all containers (including stopped)
Gracefully stop container
Force stop container immediately
Remove stopped container
Force remove running container
Follow container logs in real time
Open shell inside running container
Detailed JSON info about container
Live CPU/memory/network usage
Copy file from container to host
Images
docker imagesList all local images
docker pull nginx:1.25-alpinePull specific image tag
docker push myrepo/myapp:v1.0Push image to registry
docker build -t myapp:v1.0 .Build image from Dockerfile in current dir
docker build --no-cache -t myapp:latest .Build without using cache layers
docker tag myapp:latest myrepo/myapp:v1.0Tag image for registry push
docker rmi myapp:latestRemove local image
docker image prune -aRemove all unused images
docker history myapp:latestShow image layer history + sizes
docker save myapp:latest | gzip > myapp.tar.gzExport image to compressed file
docker load < myapp.tar.gzImport image from file
List all local images
Pull specific image tag
Push image to registry
Build image from Dockerfile in current dir
Build without using cache layers
Tag image for registry push
Remove local image
Remove all unused images
Show image layer history + sizes
Export image to compressed file
Import image from file
Volumes
docker volume lsList all volumes
docker volume create mydataCreate named volume
docker volume inspect mydataVolume details and mount path
docker volume rm mydataRemove volume
docker volume pruneRemove all unused volumes
docker run -v mydata:/app/data nginxMount named volume to container
docker run -v $(pwd):/app nginxBind mount current directory
docker run -v $(pwd):/app:ro nginxBind mount as read-only
List all volumes
Create named volume
Volume details and mount path
Remove volume
Remove all unused volumes
Mount named volume to container
Bind mount current directory
Bind mount as read-only
Networking
docker network lsList all networks
docker network create mynetCreate custom bridge network
docker network inspect mynetInspect network and connected containers
docker run --network mynet --name api myappConnect container to network
docker network connect mynet myappConnect running container to network
docker network disconnect mynet myappDisconnect container from network
docker network rm mynetRemove network
List all networks
Create custom bridge network
Inspect network and connected containers
Connect container to network
Connect running container to network
Disconnect container from network
Remove network
Docker Compose
docker compose up -dStart all services in background
docker compose up -d --buildRebuild images then start
docker compose downStop and remove containers
docker compose down -vStop + remove containers and volumes
docker compose psList running services
docker compose logs -fFollow logs from all services
docker compose logs -f webFollow logs from specific service
docker compose exec web bashShell into service container
docker compose restart webRestart specific service
docker compose up -d --scale web=3Scale service to 3 replicas
docker compose pullPull latest images for all services
docker compose configValidate and view merged compose config
Start all services in background
Rebuild images then start
Stop and remove containers
Stop + remove containers and volumes
List running services
Follow logs from all services
Follow logs from specific service
Shell into service container
Restart specific service
Scale service to 3 replicas
Pull latest images for all services
Validate and view merged compose config
System & Cleanup
docker system dfShow disk usage by images, containers, volumes
docker system pruneRemove all stopped containers, unused networks/images
docker system prune -a --volumesNuclear cleanup — remove everything unused
docker container pruneRemove all stopped containers
docker image pruneRemove dangling (untagged) images
Show disk usage by images, containers, volumes
Remove all stopped containers, unused networks/images
Nuclear cleanup — remove everything unused
Remove all stopped containers
Remove dangling (untagged) images