Essential Docker Commands: A Full Cheat Sheet
Docker is an essential tool for developers and DevOps professionals who want to streamline application deployment. It allows you to package applications into lightweight, portable containers that run consistently across different environments. This cheat sheet provides a comprehensive list of essential Docker commands, categorized for easy reference.
1. Docker Basics
Check Docker Version:
docker --version
Get Help for Docker Commands:
docker help
Show System-Wide Information:
docker info
2. Docker Images
List All Available Images:
docker images
Search for an Image in Docker Hub:
docker search <image_name>
Pull an Image from Docker Hub:
docker pull <image_name>
Remove an Image:
docker rmi <image_id>
Build an Image from a Dockerfile:
docker build -t <image_name> .
Tag an Image:
docker tag <image_name> <new_image_name>
Inspect Image Details:
docker inspect <image_id>
3. Docker Containers
List Running Containers:
docker ps
List All Containers (Including Stopped Ones):
docker ps -a
Run a New Container:
docker run -d --name <container_name> <image_name>
Start a Stopped Container:
docker start <container_id>
Stop a Running Container:
docker stop <container_id>
Restart a Container:
docker restart <container_id>
Remove a Container:
docker rm <container_id>
Run a Container with an Interactive Shell:
docker run -it <image_name> /bin/bash
Attach to a Running Container:
docker exec -it <container_id> /bin/bash
View Logs of a Running Container:
docker logs <container_id>
Copy Files from a Container to the Host:
docker cp <container_id>:/path/to/file /destination/path
4. Docker Networking
List Available Networks:
docker network ls
Inspect a Network:
docker network inspect <network_name>
Create a New Network:
docker network create <network_name>
Connect a Container to a Network:
docker network connect <network_name> <container_id>
Disconnect a Container from a Network:
docker network disconnect <network_name> <container_id>
5. Docker Volumes & Storage
List Docker Volumes:
docker volume ls
Create a New Volume:
docker volume create <volume_name>
Inspect a Volume:
docker volume inspect <volume_name>
Remove a Volume:
docker volume rm <volume_name>
Mount a Volume to a Container:
docker run -d -v <volume_name>:/data <image_name>
6. Docker Compose
Start Services Defined in a Docker Compose File:
docker-compose up -d
Stop Running Services:
docker-compose down
Restart Services:
docker-compose restart
View Running Services:
docker-compose ps
View Logs of Services:
docker-compose logs
Build and Start Services:
docker-compose up --build
7. Docker Security & Maintenance
Scan an Image for Vulnerabilities:
docker scan <image_name>
Prune Unused Containers, Networks, and Images:
docker system prune
Remove All Unused Volumes:
docker volume prune
Remove All Stopped Containers:
docker container prune
Show Resource Usage of Containers:
docker stats
Monitor Real-Time Docker Events:
docker events
Conclusion
This Docker cheat sheet provides a quick reference to essential commands that will help you manage images, containers, networks, volumes, and security efficiently. Mastering these commands will significantly enhance your ability to work with Docker, whether for development, testing, or production environments. Keep practicing, and soon, Docker will become second nature!
Read This: Docker Hub: A Comprehensive Guide