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 a 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 pruneClears an unused image
docker image prune -aClears all images that are not being used by containers
docker system pruneRemoves all stopped containers, all networks not used by containers, all dangling images, and all build cache
docker image rm imageRemoves an image
docker rm containerRemoves a running container
docker swarm leaveLeaves a swarm
docker stack rm stacknameRemoves a swarm
docker volume rm $(docker volume ls -f dangling=true -q)Removes all dangling volumes
docker rm $(docker ps -a -q)Removes all stopped containers
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 containerStarts a new container
docker stop containerStops a container
docker pause containerPauses a container
docker unpause containerUnpauses a container
docker restart containerRestarts a container
docker wait containerBlocks a container
docker export containerExports container contents to a tar archive
docker attach containerAttaches to a running container
docker wait containerWaits until the container is terminated and shows the exit code
docker commit -m “commit message” -a “author” container username/image_name: tagSaves a running container as an image
docker logs -ft containerFollows container logs
docker exec -ti container script.shRuns a command in a container
docker commit container imageCreates a new image from a container
docker create imageCreates 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 psLists all running containers
docker -ps -aLists all containers
docker diff containerInspects changes to directories and files in the container filesystem
docker top containerShows all running processes in an existing container
docker inspect containerDisplays low-level information about a container
docker logs containerGathers the logs for a container
docker stats containerShows container resource usage statistics

Manage Images Commands

Some of the most common image management commands include:

CommandExplanation
docker image lsLists images
docker image rm mysqlRemoves an image
docker tag image tagTags an image
docker history imageDisplays the image history
docker inspect imageDisplays 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 , -dRuns a container in the background and prints the container ID
--env , -eSets environment variables
--hostname , -hSets a hostname to a container
--label , -lCreates a meta data label for a container
--nameAssigns a name to a container
--networkConnects a container to a network
--rmRemoves container when it stops
--read-onlySets the container filesystem as read-only
--workdir , -wSets a working directory in a container

Registry Commands

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

CommandExplanation
docker loginLogs in to a registry
docker logoutLogs out from a registry
docker pull mysqlPulls an image from a registry
docker push repo/ rhel-httpd:latestPushes an image to a registry
docker search termSearches Docker Hub for images with the specified term

Service Commands

Manage all Docker services with these basic commands:

CommandExplanation
docker service lsLists all services running in a swarm
docker stack services stacknameLists all running services
docker service ps servicenameLists the tasks of a service
docker service update servicenameUpdates a service
docker service create imageCreates a new service
docker service scale servicename=10Scales one or more replicated services
docker service logs stackname servicenameLists all service logs

Network Commands

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

CommandExplanation
docker network create networknameCreates a new network
docker network rm networknameRemoves a specified network
docker network lsLists all networks
docker network connect networkname containerConnects a container to a network
docker network disconnect networkname containerDisconnects a container from a network
docker network inspect networknameDisplays detailed information about a network

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.