Docker Cheat Sheet: All the Most Essential Commands in One Place + Downloadable PDF

Docker is a popular open-source platform that makes it easy to build, test, deploy, and manage containerized applications in a consistent, portable, or virtual environment such as VPS.

While a powerful tool in your development arsenal, learning the different Docker commands can take time and effort. New users often benefit from having a Docker cheat sheet readily at hand.

In this tutorial, we will explain how Docker works and provide the most common Docker commands, along with a downloadable cheat sheet for you to use.

Download free docker cheat sheet

Docker Architecture

Docker architecture consists of five main components: server, client, container, image, and registry.

Docker Server

A Docker server or Docker daemon is a program that runs in the background of your computer and manages Docker containers and images. When you use the Docker command line interface.

(CLI) to create, run, or manage containers, you interact with the Docker daemon.

The Docker daemon is an essential platform component that ensures containers can be started and stopped automatically when the system boots up.

Docker Client

The Docker client lets users interact with the Docker daemon with its command-line interface (CLI). In simple terms, it’s the main part of the Docker architecture for creating, managing, and running container applications.

When you use the Docker CLI to pass a command, the Docker client sends the command to the Docker daemon running on your computer, which then carries out the requested operation. The Docker client can be installed on any machine that needs to interact with the Docker daemon, including your local machine, a remote server, or a virtual server.

Docker Container

A Docker container is a package that contains all the required prerequisites to run an application.

Containers are designed to be highly portable, meaning that they can be easily moved from one environment to another, such as from a developer’s laptop to a testing environment or from a testing environment to a production environment.

Docker Image

A Docker image is a preconfigured template that specifies what should be included in a Docker container. Usually, images are downloaded from websites like Docker Hub. However, it’s also possible to create a custom image with the help of Dockerfile.

Docker Registry

The Docker registry is a central repository that stores and manages Docker images. It is a server-based system that lets users store and share Docker images with others, making it easy to distribute and deploy applications. The most notable Docker registry is Docker Hub.

Docker Commands Cheat Sheet

Now that you know how Docker functions, let’s look at some of the most popular Docker command examples.

Build Commands

Docker uses the build command for building images from a Docker file. Some of the most common commands include:

CommandExplanation
docker buildBuilds an image from a Dockerfile in the current directory
docker build https://github.com/docker/
rootfs.git#container:docker
Builds an image from a remote GIT repository
docker build -t imagename/tagBuilds and tags an image for easier tracking
docker build https://yourserver/file.tar.gzBuilds an image from a remote tar archive
docker build -t image:1.0
-<<EOFFROM busyboxRUN echo “hello world”EOF
Builds an image via a Dockerfile that is passed through STDIN

Clean Up Commands

To keep your system clean and save disk space, it’s a great idea to clean up unused images, containers, and volumes. Check the commands below for more details:

CommandExplanation
docker image prune
docker image prune
Clears an unused image
docker image prune -a
docker image prune -a
Clears all images that are not being used by containers
docker system prune
docker system prune
Removes all stopped containers, all networks not used by containers, all dangling images, and all build cache
docker image rm image
docker image rm image
Removes an image
docker rm container
docker rm container
Removes a running container
docker swarm leave
docker swarm leave
Leaves a swarm
docker stack rm stackname
docker stack rm stackname
Removes a swarm
docker volume rm $(docker volume ls -f dangling=true -q)
docker volume rm $(docker volume ls -f dangling=true -q)
Removes all dangling volumes
docker rm $(docker ps -a -q)
docker rm $(docker ps -a -q)
Removes all stopped containers
docker kill $ (docker ps -q)
docker kill $ (docker ps -q)
Stops all running containers

Container Interaction Commands

Interact with your Docker container with the following common commands:

CommandExplanation
docker start container
docker start container
Starts a new container
docker stop container
docker stop container
Stops a container
docker pause container
docker pause container
Pauses a container
docker unpause container
docker unpause container
Unpauses a container
docker restart container
docker restart container
Restarts a container
docker wait container
docker wait container
Blocks a container
docker export container
docker export container
Exports container contents to a tar archive
docker attach container
docker attach container
Attaches to a running container
docker wait container
docker wait container
Waits until the container is terminated and shows the exit code
docker commit -m “commit message” -a “author” container username/image_name: tag
docker commit -m “commit message” -a “author” container username/image_name: tag
Saves a running container as an image
docker logs -ft container
docker logs -ft container
Follows container logs
docker exec -ti container script.sh
docker exec -ti container script.sh
Runs a command in a container
docker commit container image
docker commit container image
Creates a new image from a container
docker create image
docker create image
Creates a new container from an image

Container Inspection Commands

Sometimes, you need to inspect your containers for quality assurance or troubleshooting purposes. These commands help you get an overview of what different containers are doing:

CommandExplanation
docker ps
docker ps
Lists all running containers
docker -ps -a
docker -ps -a
Lists all containers
docker diff container
docker diff container
Inspects changes to directories and files in the container filesystem
docker top container
docker top container
Shows all running processes in an existing container
docker inspect container
docker inspect container
Displays low-level information about a container
docker logs container
docker logs container
Gathers the logs for a container
docker stats container
docker stats container
Shows container resource usage statistics

Manage Images Commands

Some of the most common image management commands include:

CommandExplanation
docker image ls
docker image ls
Lists images
docker image rm mysql
docker image rm mysql
Removes an image
docker tag image tag
docker tag image tag
Tags an image
docker history image
docker history image
Displays the image history
docker inspect image
docker inspect image
Displays low-level information about an image

Run Commands

Docker uses the run command to create containers from provided images. The default syntax for this command looks like this:

docker run (options) image (command) (arg...)

After the default syntax, use one of the following flags:

FlagExplanation
--detach , -d
--detach , -d
Runs a container in the background and prints the container ID
--env , -e
--env , -e
Sets environment variables
--hostname , -h
--hostname , -h
Sets a hostname to a container
--label , -l
--label , -l
Creates a meta data label for a container
--name
--name
Assigns a name to a container
--network
--network
Connects a container to a network
--rm
--rm
Removes container when it stops
--read-only
--read-only
Sets the container filesystem as read-only
--workdir , -w
--workdir , -w
Sets a working directory in a container

Registry Commands

If you need to interact with Docker Hub, use the following commands:

CommandExplanation
docker login
docker login
Logs in to a registry
docker logout
docker logout
Logs out from a registry
docker pull mysql
docker pull mysql
Pulls an image from a registry
docker push repo/ rhel-httpd:latest
docker push repo/ rhel-httpd:latest
Pushes an image to a registry
docker search term
docker search term
Searches Docker Hub for images with the specified term

Service Commands

Manage all Docker services with these basic commands:

CommandExplanation
docker service ls
docker service ls
Lists all services running in a swarm
docker stack services stackname
docker stack services stackname
Lists all running services
docker service ps servicename
docker service ps servicename
Lists the tasks of a service
docker service update servicename
docker service update servicename
Updates a service
docker service create image
docker service create image
Creates a new service
docker service scale servicename=10
docker service scale servicename=10
Scales one or more replicated services
docker service logs stackname servicename
docker service logs stackname servicename
Lists all service logs

Network Commands

If you need to interact with the Docker network, use one of the following commands:

CommandExplanation
docker network create networkname
docker network create networkname
Creates a new network
docker network rm networkname
docker network rm networkname
Removes a specified network
docker network ls
docker network ls
Lists all networks
docker network connect networkname container
docker network connect networkname container
Connects a container to a network
docker network disconnect networkname container
docker network disconnect networkname container
Disconnects a container from a network
docker network inspect networkname
docker network inspect networkname
Displays detailed information about a network

Download Free Docker Cheat Sheet

Conclusion

Docker is a great tool for anyone willing to try out containers. The learning curve can be steep if you’re unfamiliar with container-based development. Luckily, having a cheat sheet at hand can speed up the process, as all common commands are easily reachable, and you don’t need to look them up on the internet.

In this tutorial, we’ve covered the basics of Docker architecture and gone through all the basic Docker commands, all of which can be found in our downloadable Docker cheat sheet.

We hope that you found this Docker tutorial useful. If you have any questions, leave them in the comments section below.

Author
The author

Ignas R.

Ignas takes great satisfaction in helping people tackle even the most complex technical issues. His current goal is to write easy-to-follow articles so that these issues will not happen at all. During his free time, Ignas likes to play video games and fix up things around his house.