📖 Guide

Docker Commands Cheat Sheet — Complete Reference

Every Docker command you need, from container basics to Compose orchestration. Searchable and organized.

121 commands across 10 categories

Container Lifecycle

CommandDescription
docker run <image>
e.g. docker run nginx
Create and start a container
docker run -d <image>
Run container in background (detached)
docker run -it <image> bash
Run interactively with a shell
docker run --name <name> <image>
e.g. docker run --name web nginx
Run with a custom name
docker run -p 8080:80 <image>
Map host port 8080 to container port 80
docker run -v /host:/container <image>
Mount a volume
docker run --rm <image>
Auto-remove container when it exits
docker run -e KEY=value <image>
Set environment variable
docker run --env-file .env <image>
Load env vars from file
docker run --network <net> <image>
Connect to a specific network
docker run --restart=unless-stopped <image>
Auto-restart policy
docker create <image>
Create container without starting
docker start <container>
Start a stopped container
docker stop <container>
Gracefully stop a running container
docker restart <container>
Restart a container
docker kill <container>
Force stop a container (SIGKILL)
docker rm <container>
Remove a stopped container
docker rm -f <container>
Force remove (even if running)
docker rename <old> <new>
Rename a container
docker pause <container>
Pause all processes in container
docker unpause <container>
Unpause a paused container

Container Inspection

CommandDescription
docker ps
List running containers
docker ps -a
List all containers (including stopped)
docker ps -q
List only container IDs
docker ps --format '{{.Names}}'
Custom output format
docker logs <container>
View container logs
docker logs -f <container>
Follow/stream logs in real-time
docker logs --tail 100 <container>
Show last 100 log lines
docker logs --since 1h <container>
Show logs from last hour
docker inspect <container>
Full JSON details of container
docker inspect -f '{{.NetworkSettings.IPAddress}}' <c>
Get container IP address
docker stats
Live resource usage for all containers
docker stats <container>
Live resource usage for specific container
docker top <container>
Show running processes in container
docker port <container>
List port mappings
docker diff <container>
Show filesystem changes in container

Images

CommandDescription
docker images
List local images
docker images -a
List all images (including intermediates)
docker pull <image>
e.g. docker pull node:20-alpine
Download an image from registry
docker push <image>
Push image to registry
docker build -t <name> .
e.g. docker build -t myapp:latest .
Build image from Dockerfile in current dir
docker build -f <file> .
Build with a specific Dockerfile
docker build --no-cache .
Build without using cache
docker build --build-arg KEY=val .
Pass build-time variable
docker tag <image> <new-tag>
e.g. docker tag myapp:latest myapp:v1.0
Tag an image
docker rmi <image>
Remove an image
docker rmi $(docker images -q)
Remove all images ⚠️
docker image prune
Remove dangling (untagged) images
docker image prune -a
Remove all unused images
docker history <image>
Show image layer history
docker save -o file.tar <image>
Export image to tar file
docker load -i file.tar
Import image from tar file

Exec & Copy

CommandDescription
docker exec -it <container> bash
Open interactive shell in running container
docker exec -it <container> sh
Open shell (Alpine/minimal images)
docker exec <container> <cmd>
e.g. docker exec web ls /app
Run command in container
docker exec -u root <container> <cmd>
Run command as root
docker cp <container>:/path /host
Copy file from container to host
docker cp /host <container>:/path
Copy file from host to container
docker attach <container>
Attach to container's main process
docker wait <container>
Block until container stops, print exit code
docker commit <container> <image>
Create image from container's changes
docker export <container> > file.tar
Export container filesystem

Volumes

CommandDescription
docker volume create <name>
Create a named volume
docker volume ls
List all volumes
docker volume inspect <name>
Show volume details
docker volume rm <name>
Remove a volume
docker volume prune
Remove all unused volumes
docker run -v <vol>:/data <image>
e.g. docker run -v pgdata:/var/lib/postgresql/data postgres
Mount named volume
docker run -v $(pwd):/app <image>
Bind mount current directory
docker run -v /host:/container:ro <image>
Mount as read-only
docker run --tmpfs /tmp <image>
Mount tmpfs (in-memory filesystem)

Networks

CommandDescription
docker network ls
List all networks
docker network create <name>
Create a bridge network
docker network create --driver overlay <name>
Create overlay network (Swarm)
docker network inspect <name>
Show network details and connected containers
docker network connect <net> <container>
Connect container to network
docker network disconnect <net> <container>
Disconnect container from network
docker network rm <name>
Remove a network
docker network prune
Remove all unused networks

Docker Compose

CommandDescription
docker compose up
Create and start all services
docker compose up -d
Start services in background
docker compose up --build
Rebuild images before starting
docker compose up <service>
Start specific service only
docker compose down
Stop and remove containers, networks
docker compose down -v
Also remove volumes
docker compose down --rmi all
Also remove images
docker compose build
Build or rebuild services
docker compose build --no-cache
Build without cache
docker compose ps
List running compose services
docker compose logs
View logs from all services
docker compose logs -f <service>
Follow logs for specific service
docker compose exec <service> bash
Open shell in running service
docker compose run <service> <cmd>
Run one-off command in new container
docker compose pull
Pull latest images for all services
docker compose restart <service>
Restart a specific service
docker compose stop
Stop services without removing
docker compose config
Validate and view compose config
docker compose -f prod.yml up -d
Use a specific compose file
docker compose scale <service>=3
Scale service to 3 instances

Registry & Auth

CommandDescription
docker login
Log in to Docker Hub
docker login <registry>
e.g. docker login ghcr.io
Log in to a private registry
docker logout
Log out from registry
docker search <term>
e.g. docker search nginx
Search Docker Hub for images
docker pull <registry>/<image>:<tag>
Pull from specific registry
docker push <registry>/<image>:<tag>
Push to specific registry

System & Cleanup

CommandDescription
docker system df
Show Docker disk usage
docker system prune
Remove unused data (stopped containers, dangling images, etc.)
docker system prune -a
Remove ALL unused data (including unused images) ⚠️
docker system prune -a --volumes
Nuclear cleanup — remove everything unused ⚠️
docker system info
Display system-wide information
docker system events
Stream real-time Docker events
docker container prune
Remove all stopped containers
docker rm $(docker ps -aq)
Remove all containers ⚠️
docker version
Show Docker client and server versions

Buildx & Multi-Platform

CommandDescription
docker buildx create --use
Create and use a new builder instance
docker buildx build --platform linux/amd64,linux/arm64 -t <image> .
Multi-platform build
docker buildx build --push -t <image> .
Build and push in one step
docker buildx ls
List builder instances
docker buildx inspect
Inspect current builder
docker buildx prune
Clean up build cache
docker manifest inspect <image>
Inspect image manifest (multi-arch info)

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.

📖 Free, searchable command reference. Bookmark this page for quick access.