CloudTech/Web

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

Harshvardhan Mishra

Hi, I'm Harshvardhan Mishra. Tech enthusiast and IT professional with a B.Tech in IT, PG Diploma in IoT from CDAC, and 6 years of industry experience. Founder of HVM Smart Solutions, blending technology for real-world solutions. As a passionate technical author, I simplify complex concepts for diverse audiences. Let's connect and explore the tech world together! If you want to help support me on my journey, consider sharing my articles, or Buy me a Coffee! Thank you for reading my blog! Happy learning! Linkedin

Leave a Reply

Your email address will not be published. Required fields are marked *