An extensive guide on using Docker commands related to Docker containers, images, networks, and volumes


• List all the Running Containers
docker ps
• List all the Containers (irrespective of the state)
docker ps -a
docker ps -all
• List all the Running Containers with the File Size
docker ps -s
docker container ls -s
• List the IDs of the Running Containers
docker ps -q
docker container ls -q
• List the IDs of all the Containers (irrespective of the state)
docker ps -a -q
docker ps -aq
• Filter container list
docker ps -f name=un
docker ps -a -f name=ar
docker ps -a -f status=running
• Creating a new Container using Docker Image
docker create <image_name>
docker container create <image_name>
docker create nginx
• Creating a new Container using Docker Image with some fixed name
docker create --name <container_name> <image_name>
docker container create --name <container_name> <image_name>
docker create --name nginx-container nginx
• Start a Docker Container
docker start <container_id or container_name>
docker start nginx-contianer
• Stop a running Docker Container
docker stop <container_id or container_name>
docker stop nginx-container
• Restart a Docker container
docker restart <container_id or container_name>
• Pause a running Container
docker pause <container_id or container_name>
docker pause nginx-container
• Unpause a paused Container
docker unpause <container_id or container_name>
docker container unpause <container_id or container_name>
docker unpause nginx-container
• Docker Run command
docker run <image_name>
docker container run <image_name>
• Docker Run command in Foreground and Detached Modes
docker container run nginx
docker ps
• Delete the container on the exited state
docker run --rm nginx
• Run the container in daemon mode
docker run -d <image_name>
• Run Docker Container with a name using the run command
docker container run -d --name <container_name> <image_name>
docker container run -d --name nginx-container nginx
• Listing Processes running in a Docker Container
docker top <container_name or container_id>
docker container top <container_name or container_id>
• Map ports of a Docker Container
docker container run --name <container_name? -d -p <host_post>:<container_port> <image_name>
docker container run --name nginx-container -d -p 8080:80 nginx
• Rename a Docker Container
docker rename <old_name> <new_name>
docker rename nginx-container nginx-cont
• Run the Docker Container in an Interactive Mode
docker container run -it <image_name> /bin/bash
docker container run -it nginx /bin/bash
• Get Inside the Running Container
docker exec -it <contaner_id or container_name> /bin/bash
docker run -d --name nginx-container nginx
• Start a Docker Container and keep it running
docker run -dt <image_name>
• Copy a File from a Container to a Host
docker cp <container_id or container_name>:<source_file_path> <destination_path>
• Copy a File from the Host to the Docker Container
docker cp <location_of_file_on_host> <container_id or container_name>:<file_desinaion>
• Remove a specific Docker Container
docker stop <container_name or container_id>
• Remove a Docker Container after it exits
docker run --rm <image_name>
• Delete all the Stopped Containers
docker container prune
• Delete all the Docker Containers
docker rm -f $(docker ps -a -q)
docker container rm -f $(docker ps -a -q)
• Create a Docker image from a Docker Container
docker container commit <container_id or container_name> <new_image_name>
• Run command inside the Docker Container
docker exec -it <container_id or container_name> <command>
• Set Environment Variable in a Docker Container
docker run --env ENV_VAR1=value1 --env ENV_VAR1=value2 --name <container_name> <image_name>
• Set Environment Variable in a Docker Container using a File
docker run --env-file <path_to_the_file> --name <container_name> <image_name>
Docker Image Commands:
• List all the Docker Images
docker images
• List the Docker Image Ids
docker images -q
• List all the Docker Images (including dangling images)
docker images -a
• Build a Docker Image
docker build -t <image_name> <contenxt_dir>
• Build Docker Images with a different tag
docker build . -t <image_name>:<tag or version>
• Build a Docker Image using a custom named Dockerfile
docker build -f <custom_docker_file_name> -t <image_name> .
• Build a Docker Image from a Dockerfile that is not in the Current Directory
docker build -f </path/to/dockerfilename> -t <image_name> .
• Show History of a Docker Image
docker history <imagename or imageid>
• Rename an existing Docker Image
docker tag <imagename> <newname>:<version>
• Remove Docker images
docker rmi <image_name or image_id>
• Force delete a Docker Image
docker rmi -f <image_name or image_id>
Unused Docker Images:
• Dangling Docker Images
docker build . -t imagename
• List Dangling Docker Images
docker images -f dangling=true
• Remove all the Dangling Docker Images
docker image prune
• Remove all the Dangling and Unused Docker Images
docker image prune -a
• Login to Docker
docker login
• Push a Docker Image to the Docker Registry
docker push repository_name/imagename:tag
• Download a Docker Image from the registry
docker pull imagename:tag
Docker logs:
• Get Logs of the Docker container
docker container logs <container_id or container_name>
• Monitor the Docker Container Logs
docker container logs -f <container_id or container_name>
• Get the last 2 lines of the Container Logs
docker container logs --tail 2 <container_id or container_name>
Docker Network Commands:
• List all the Networks
docker network ls
• Create a Network
docker network create --driver <driver-name> <bridge-name>
• Connect a Docker Container to a Network:
docker network create --driver <driver-name> <bridge-name>
• Connect a Docker Container to a Network on Start
docker run -d --network=<network_name or id> <contaienr_name>
• Disconnect a Docker container from a Network:
docker network disconnect <network_name_or_id> <container_name_or_id>
• Remove a Network
docker network rm <network_id or network_name>
• Show Information about one or more Networks
docker network inspect <network_id or network_name>
• Get the IP Address of the running Docker Container
sudo docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name or container_id>
Docker Volumes:
• Create Docker Volume
docker volume create --name volume-name
• List Docker Volumes
docker volume ls
• Mounting Docker Volume using the -v Flag
docker run -it --name <container-name> -v <volume-name>:<path-in-container-where-volume-is-mounted> <image-name>
• Mounting Docker Volume using the --mount Flag
docker run -it --name <container-name> --mount soure=<volume-name>, destination=<path-in-container-where-volume-is-mounted> <image-name>
• Get Details about a Docker Volume
docker volume inspect <volume-name>
• Remove a Docker Volume
docker volume rm <volume-name>
• Volume Mount using bind-mount
docker run -it -v /path/on/host:/path/in/contianer/where/volume/has/to/be/mounted <image-name>
• Creating Bind Mount Volume using the --mount flag
docker run -it --name <container_name> --mount type=bind,source=/path/on/host/,target=/path/on/container first-image
Docker System-wide Commands:
• Docker Info
docker info
• Docker Stats of the running Container
docker stats
• Docker Stats of all the Containers
docker stats --all
• Show the Docker Version
docker version
• Get Detailed Info about an Object (Container, Image, Volume, etc)
docker inspect <name or id>
docker inspect nginx
• Get the Summary of Docker Usage
docker system df
• Clean your Docker system
docker system prune
That's it for today guys!
• Thanks for reading and i would love to connect with you guys on Socials
• Any feedbacks are welcome!!
Subscribe to my newsletter
Read articles from Areeb Abdul Ghani directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Areeb Abdul Ghani
Areeb Abdul Ghani
• I talk about DevOps and write “Hello World” • Open Source enthusiast 🌐