Docker Week: Day 3 (part 2) – Essential Docker Commands for Every Cloud & DevOps Engineer

Prabhat ChouhanPrabhat Chouhan
4 min read

Saturday, 21st September 2024


Why Knowing Docker Commands Matters

Mastering Docker commands is essential for efficiently managing containers, images, volumes, and networks. Whether you're a beginner or an experienced cloud/DevOps engineer, having a good understanding of these commands helps streamline your workflow and manage containerized environments effectively.


Key Docker Commands

Here are some of the most important Docker commands that every cloud or DevOps engineer should know, grouped by category:

1. Docker Basics

  • docker --version
    Check the installed version of Docker on your system.

      docker --version
    
  • docker help
    Get a list of Docker commands or detailed help for a specific command.

      docker help
    
  • docker info
    Displays detailed information about Docker, including the number of running containers, images, and system resources.

      docker info
    

2. Container Management

  • docker run
    Run a new container from a specified image.
    Example: Run an NGINX container.

      docker run -d --name my_nginx -p 80:80 nginx
    
  • docker ps
    List all running containers.

      docker ps
    
  • docker ps -a
    List all containers, including stopped ones.

      docker ps -a
    
  • docker stop [container_id]
    Stop a running container by specifying its ID or name.

      docker stop my_nginx
    
  • docker start [container_id]
    Start a stopped container by specifying its ID or name.

      docker start my_nginx
    
  • docker rm [container_id]
    Remove a stopped container.

      docker rm my_nginx
    

3. Image Management

  • docker images
    List all images available locally.

      docker images
    
  • docker pull [image_name]
    Pull an image from Docker Hub (or another registry).

      docker pull ubuntu
    
  • docker rmi [image_name]
    Remove a specific image from your local system.

      docker rmi ubuntu
    
  • docker build -t [image_name] [path]
    Build a Docker image from a Dockerfile.

      docker build -t my_app .
    

4. Docker Volumes

  • docker volume create [volume_name]
    Create a new Docker volume.

      docker volume create my_data_volume
    
  • docker volume ls
    List all Docker volumes.

      docker volume ls
    
  • docker volume rm [volume_name]
    Remove a Docker volume.

      docker volume rm my_data_volume
    

5. Docker Networks

  • docker network ls
    List all Docker networks.

      docker network ls
    
  • docker network create [network_name]
    Create a custom Docker network.

      docker network create my_network
    
  • docker network rm [network_name]
    Remove a Docker network.

      docker network rm my_network
    

6. Logs and Monitoring

  • docker logs [container_id]
    View logs from a running container.

      docker logs my_nginx
    
  • docker stats
    Display a live stream of container resource usage.

      docker stats
    
  • docker inspect [container_id]
    Get detailed information about a container or image in JSON format.

      docker inspect my_nginx
    

7. Executing Commands in Containers

  • docker exec -it [container_id] [command]
    Run a command inside a running container (like accessing a terminal in the container).

      docker exec -it my_nginx bash
    
  • docker attach [container_id]
    Attach your terminal to a running container.

      docker attach my_nginx
    

8. Cleaning Up

  • docker system prune
    Remove unused Docker objects (containers, networks, images, etc.).

      docker system prune
    
  • docker system df
    Show Docker disk usage, providing insights into how much space containers, images, and volumes are consuming.

      docker system df
    

Why These Commands Are Essential for Cloud/DevOps Engineers

Mastering these Docker commands is crucial for effective container management in real-world cloud and DevOps environments. They help you streamline operations, troubleshoot issues, and automate tasks, making your workflows faster and more efficient. From setting up applications to managing complex infrastructures, Docker is a core tool for engineers working with containers.


Conclusion

These Docker commands form the foundation of container management and are essential for beginners and intermediate-level cloud/DevOps engineers. The more you use these commands, the more familiar and efficient you will become with Docker's capabilities. In the next post, we’ll explore Docker Networking, a critical component for container communication.

Stay tuned for Day 4 of Docker Week!

0
Subscribe to my newsletter

Read articles from Prabhat Chouhan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Prabhat Chouhan
Prabhat Chouhan

I’m a Cloud/DevOps enthusiast currently learning how to build and manage reliable, scalable solutions. I’m excited about exploring modern technologies and best practices to streamline development and deployment processes. My aim is to gain hands-on experience and contribute to creating robust systems that support growth and success in the tech world.