DEV Community

Cover image for From Beginner to Pro: The Ultimate Docker Command Cheatsheet πŸ³πŸ“˜
Ritesh Singh
Ritesh Singh

Posted on

From Beginner to Pro: The Ultimate Docker Command Cheatsheet πŸ³πŸ“˜

Docker Basic Commands

Today, we focused on mastering essential Docker housekeeping commands to manage containers, images, volumes, and perform clean-up tasks effectively.

🧠 Concepts Covered

  • Listing running and stopped containers
  • Removing stopped containers and unused images
  • Managing Docker volumes
  • Executing commands inside running containers
  • Understanding how Docker resources accumulate over time and how to keep your environment clean

πŸ”§ Docker Commands Practiced

CONTAINER

πŸ” List Containers

docker ps              # Lists only running containers
docker ps -a           # Lists all containers (including stopped ones)
Enter fullscreen mode Exit fullscreen mode

🧹 Remove Containers

docker rm <container_id>   # Removes a specific container by ID or name
Enter fullscreen mode Exit fullscreen mode

πŸ’‘ Tip: Use docker ps -a to find stopped containers you no longer need.

Create & Run a New Container

docker run <image_name>
Enter fullscreen mode Exit fullscreen mode

If the image is not available locally, it’ll be downloaded from Docker Hub.

Run Container in Background

docker run -d <image_name>
Enter fullscreen mode Exit fullscreen mode

Run Container with Custom Name

docker run --name <container_name> <image_name>
Enter fullscreen mode Exit fullscreen mode

IMAGES

πŸ“¦ List Docker Images

docker images
Enter fullscreen mode Exit fullscreen mode

🧽 Remove Docker Images

docker rmi <image_id>      # Removes an image by its ID
Enter fullscreen mode Exit fullscreen mode

πŸ’‘ Useful for deleting old or unused images to free up disk space.

Remove Unused Images

docker image prune
Enter fullscreen mode Exit fullscreen mode

Build an Image from a Dockerfile

docker build -t <image_name>:<version> .  # Version is optional
docker build -t <image_name>:<version> . --no-cache  # Build without cache
Enter fullscreen mode Exit fullscreen mode

Port Binding in Container

docker run -p<host_port>:<container_port> <image_name>
Enter fullscreen mode Exit fullscreen mode

Set Environment Variables in a Container

docker run -e <var_name>=<var_value> <container_name>  # Or <container_id>
Enter fullscreen mode Exit fullscreen mode

Start or Stop an Existing Container

docker start|stop <container_name>  # Or <container_id>
Enter fullscreen mode Exit fullscreen mode

Inspect a Running Container

docker inspect <container_name>  # Or <container_id>
Enter fullscreen mode Exit fullscreen mode

TROUBLESHOOT

Fetch Logs of a Container

docker logs <container_name>  # Or <container_id>
Enter fullscreen mode Exit fullscreen mode

Open Shell Inside Running Container

docker exec -it <container_name> /bin/bash
docker exec -it <container_name> sh
Enter fullscreen mode Exit fullscreen mode

DOCKER HUB

Pull an Image from Docker Hub

docker pull <image_name>
Enter fullscreen mode Exit fullscreen mode

Publish an Image to Docker Hub

docker push <username>/<image_name>
Enter fullscreen mode Exit fullscreen mode

Login to Docker Hub

docker login -u <image_name>
# Or
docker login
Enter fullscreen mode Exit fullscreen mode

Use docker logout to remove credentials.

Search for an Image on Docker Hub

docker search <image_name>
Enter fullscreen mode Exit fullscreen mode

VOLUME

πŸ“‹ List All Volumes

docker volume ls
Enter fullscreen mode Exit fullscreen mode

πŸ†• Create a New Named Volume

docker volume create <volume_name>
Enter fullscreen mode Exit fullscreen mode

❌ Delete a Named Volume

docker volume rm <volume_name>
Enter fullscreen mode Exit fullscreen mode

πŸ“‚ Mounting Volumes

πŸ”— Mount a Named Volume to a Running Container
docker run --volume <volume_name>:<mount_path>
# Or using --mount
docker run --mount type=volume,src=<volume_name>,dst=<mount_path>
Enter fullscreen mode Exit fullscreen mode
❓ Mount an Anonymous Volume with Running Container
docker run --volume <mount_path>
Enter fullscreen mode Exit fullscreen mode
πŸ“Ž Create a Bind Mount
docker run --volume <host_path>:<container_path>
# Or using --mount
docker run --mount type=bind,src=<host_path>,dst=<container_path>
Enter fullscreen mode Exit fullscreen mode

🧹 Remove Unused Local Volumes

docker volume prune
Enter fullscreen mode Exit fullscreen mode

πŸ“ Note: Use this to remove anonymous volumes that are no longer used.

🌐 Docker Networks – Quick Reference

πŸ“‹ List All Networks

docker network ls
Enter fullscreen mode Exit fullscreen mode

πŸ› οΈ Create a Network

docker network create <network_name>
Enter fullscreen mode Exit fullscreen mode

❌ Remove a Network

docker network rm <network_name>
Enter fullscreen mode Exit fullscreen mode

Remove All Unused Networks

docker network prune
Enter fullscreen mode Exit fullscreen mode

⚠️ Warning: This will remove all unused networks. Ensure no containers depend on them.

πŸ”— Connect with Me

Top comments (0)