Docker
Docker Commands
Docker Commands
# List all running containers
docker ps
# List all containers (running and stopped)
docker ps -a
# Start a container
docker start <container_name_or_id>
# Stop a container
docker stop <container_name_or_id>
# Restart a container
docker restart <container_name_or_id>
# Remove a container
docker rm <container_name_or_id>
# Remove all stopped containers
docker container prune
# List all images
docker images
### 🐳 Docker Cheat Sheet
## Images
```bash
docker images # List images
docker pull <image> # Pull image from registry
docker build -t <name>:<tag> . # Build image from Dockerfile
docker rmi <image> # Remove image
docker image prune # Remove dangling images
docker image prune -a # Remove all unused images
Containers
docker ps # List running containers
docker ps -a # List all containers
docker run <image> # Run a container
docker run -d <image> # Run detached (background)
docker run -it <image> bash # Run interactively
docker run --name <name> <image> # Run with custom name
docker run -p 8080:80 <image> # Map host:container ports
docker run -v /host:/container <img> # Mount volume
docker start <container> # Start stopped container
docker stop <container> # Stop running container
docker restart <container> # Restart container
docker rm <container> # Remove container
docker rm -f <container> # Force remove running container
Exec & Logs
docker exec -it <container> bash # Shell into running container
docker exec <container> <cmd> # Run command in container
docker logs <container> # View logs
docker logs -f <container> # Follow logs (live)
docker logs --tail 100 <container> # Last 100 lines
Volumes
docker volume ls # List volumes
docker volume create <name> # Create volume
docker volume rm <name> # Remove volume
docker volume prune # Remove unused volumes
docker volume inspect <name> # Inspect volume
Networks
docker network ls # List networks
docker network create <name> # Create network
docker network connect <net> <cont> # Connect container to network
docker network inspect <name> # Inspect network
System & Cleanup
docker info # System info
docker stats # Live resource usage
docker system df # Disk usage
docker system prune # Remove all unused resources
docker system prune -a --volumes # Nuclear cleanup
Docker Compose
docker compose up # Start services
docker compose up -d # Start detached
docker compose down # Stop & remove containers
docker compose down -v # Also remove volumes
docker compose ps # List services
docker compose logs -f # Follow logs
docker compose build # Build/rebuild images
docker compose exec <svc> bash # Shell into service
docker compose pull # Pull latest images
Inspect & Copy
docker inspect <container/image> # Detailed JSON info
docker cp <container>:/path ./local # Copy from container
docker cp ./local <container>:/path # Copy to container
docker diff <container> # Show filesystem changes
Save & Load
docker save -o image.tar <image> # Export image to tar
docker load -i image.tar # Import image from tar
docker export <container> > app.tar # Export container filesystem
docker import app.tar # Import as image
Tip: Most commands accept the first few characters of an ID — you don’t need the full container/image ID.
Remove an image
docker rmi <image_name_or_id>
Remove all unused images
docker image prune -a
Build an image from a Dockerfile
docker build -t <image_name> .
Run a container from an image
docker run -d -p <host_port>:<container_port> <image_name>
View logs of a container
docker logs <container_name_or_id>
Follow logs in real-time
docker logs -f <container_name_or_id>
Execute a command in a running container
docker exec -it <container_name_or_id>
View container processes
docker top <container_name_or_id>
View container resource usage
docker stats
View detailed information about a container
docker inspect <container_name_or_id>
View detailed information about an image
docker inspect <image_name_or_id>
List all networks
docker network ls
Create a network
docker network create <network_name>
Remove a network
docker network rm <network_name>
Connect a container to a network
docker network connect <network_name> <container_name_or_id>
Disconnect a container from a network
docker network disconnect <network_name> <container_name_or_id>
List all volumes
docker volume ls
Create a volume
docker volume create <volume_name>
Remove a volume
docker volume rm <volume_name>
Remove all unused volumes
docker volume prune
View Docker system information
docker info
View Docker version
docker version
Clean up unused Docker resources
docker system prune
Clean up everything including networks and volumes
docker system prune -a
Clean up everything including networks, volumes, and images
docker system prune -a -f