The Ultimate List of Docker Commands Categorized by Usage
Mastering Docker commands is essential for efficient containerized application development, system administration, and DevOps practices. Docker, a leading containerization platform, provides a wide range of commands to manage images, containers, networks, and volumes. This guide categorizes these commands by their usage, ensuring you can quickly find what you need. Whether you are a beginner or a seasoned user, this list will be an invaluable resource.
1. Installation and Setup
Installing Docker
- Linux:
sudo apt update && sudo apt install docker.io -y
- Mac: Download and install Docker Desktop from Docker's official website
- Windows: Install Docker Desktop from Docker's official website
Starting and Enabling Docker
- Start Docker:
sudo systemctl start docker
- Enable Docker on Boot:
sudo systemctl enable docker
- Check Docker Status:
sudo systemctl status docker
- Verify Installation:
docker --version
docker run hello-world
2. Working with Docker Images
Searching for Images
- Search for an Image on Docker Hub:
docker search <image_name>
Downloading Images
- Pull an Image:
docker pull <image_name>
- Pull a Specific Version:
docker pull <image_name>:<tag>
Listing and Removing Images
- List Downloaded Images:
docker images
- Remove an Image:
docker rmi <image_id>
- Remove All Images:
docker rmi $(docker images -q)
3. Managing Containers
Creating and Running Containers
- Run a Container:
docker run <image_name>
- Run a Container in Detached Mode:
docker run -d <image_name>
- Run a Container with an Interactive Shell:
docker run -it <image_name> /bin/bash
Listing Containers
- List Running Containers:
docker ps
- List All Containers (Including Stopped Ones):
docker ps -a
Stopping, Restarting, and Removing Containers
- Stop a Running Container:
docker stop <container_id>
- Restart a Container:
docker restart <container_id>
- Remove a Stopped Container:
docker rm <container_id>
- Remove All Containers:
docker rm $(docker ps -aq)
4. Managing Container Logs and Stats
- View Logs of a Running Container:
docker logs <container_id>
- Follow Logs in Real-Time:
docker logs -f <container_id>
- Monitor Resource Usage of Containers:
docker stats
5. Networking in Docker
Listing and Inspecting Networks
- List Available Networks:
docker network ls
- Inspect a Network:
docker network inspect <network_name>
Creating and Removing Networks
- Create a Network:
docker network create <network_name>
- Remove a Network:
docker network rm <network_name>
Connecting and Disconnecting Containers to a Network
- 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>
6. Working with Docker Volumes
Creating and Managing Volumes
- Create a Volume:
docker volume create <volume_name>
- List Available Volumes:
docker volume ls
- Inspect a Volume:
docker volume inspect <volume_name>
Using Volumes in Containers
- Mount a Volume When Running a Container:
docker run -v <volume_name>:/data <image_name>
- Remove a Volume:
docker volume rm <volume_name>
- Remove All Unused Volumes:
docker volume prune
7. Docker Compose
Installing Docker Compose
- Linux:
sudo apt install docker-compose
- Mac & Windows: Docker Compose is included in Docker Desktop.
Basic Docker Compose Commands
- Start Services in Detached Mode:
docker-compose up -d
- Stop Services:
docker-compose down
- View Logs:
docker-compose logs
8. Cleanup and Maintenance
- Remove Unused Images:
docker image prune
- Remove Unused Containers:
docker container prune
- Remove Unused Networks:
docker network prune
- Remove Unused Volumes:
docker volume prune
- Remove Everything:
docker system prune -a
This comprehensive guide ensures you have quick access to the most essential Docker commands. Stay tuned for updates and feel free to suggest additional commands to enhance this reference!