Docker Cheatsheet

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production. In this post, I will mention docker commands which we need or most of the use-cases.

Lifecycle Commands

  • Create a container (without starting it):
docker create [IMAGE]
  • Rename an existing container
docker rename [CONTAINER_NAME] [NEW_CONTAINER_NAME]
  • Run a command in a new container
docker run [IMAGE] [COMMAND]
  • Remove container after it exits
docker run --rm [IMAGE]
  • Start a container and keep it running
docker run -td [IMAGE]
  • Start a container and creates an interactive bash shell in the container
docker run -it [IMAGE]
  • Create, Start, and run a command inside the container and remove the container after executing command.
docker run -it-rm [IMAGE]
  • Execute command inside already running container.
docker exec -it [container]
  • Delete a container (if it is not running)
docker rm [CONTAINER]
  • Update the configuration of the container
docker update [CONTAINER]

Starting and Stopping Containers

  • Start Container
docker start [CONTAINER]
  • Stop running Container
docker stop [CONTAINER]
  • Stop running Container and start it again
docker restart [CONTAINER]
  • Pause processes in a running container
docker pause [CONTAINER]
  • Unpause processes in a running container
docker unpause [CONTAINER]
  • Block a container until others stop
docker wait [CONTAINER]
  • Kill a container by sending a SIGKILL to a running container
docker kill [CONTAINER]
  • Attach local standard input, output, and error streams to a running container
docker attach [CONTAINER]

Docker Image Commands

  • Create an image from a Dockerfile
docker build [URL/FILE]
  • Create an image from a Dockerfile with Tags
docker build -t <tag> [URL/FILE]
  • Pull an image from a registry
docker pull [IMAGE]
  • Push an image to a registry
docker push [IMAGE]
  • Create an image from a tarball
docker import [URL/FILE]
  • Create an image from a container
docker commit [CONTAINER] [NEW_IMAGE_NAME]
  • Remove an image
docker rmi [IMAGE]
  • Load an image from a tar archive or stdin
docker load [TAR_FILE/STDIN_FILE]
  • Save an image to a tar archive
docker save [IMAGE] > [TAR_FILE]

Docker Container And Image Information

  • List running containers
docker ps
  • Lists both running containers and ones that have stopped
docker ps -a
  • List the logs from a running container
docker logs [CONTAINER]
  • List low-level information on Docker objects
docker inspect [OBJECT_NAME/ID]
  • List real-time events from a container
docker events [CONTAINER]
  • Show port mapping for a container
docker port [CONTAINER]
  • Show running processes in a container
docker top [CONTAINER]
  • Show live resource usage statistics of container
docker stats [CONTAINER]
  • Show changes to files (or directories) on a filesystem
docker diff [CONTAINER]
  • List all images that are locally stored with the docker engine
docker [image] ls
  • Show the history of an image
docker history [IMAGE]

Network Commands

  • List networks
docker network ls
  • Remove one or more networks
docker network rm [NETWORK]
  • Show information on one or more networks
docker network inspect [NETWORK]
  • Connects a container to a network
docker network connect [NETWORK] [CONTAINER]
  • Disconnect a container from a network
docker network disconnect [NETWORK] [CONTAINER]

Thank you for reading

Hope you find these resources useful. If you like what you read and want to see more about system design, microservices, and other technology-related stuff... You can follow me on

32