Skip to main content
Docker Cheat Sheet: The Most Important Commands for Everyday Work & Emergencies

Docker Cheat Sheet: The Most Important Commands for Everyday Work & Emergencies

Docker Cheat Sheet: Commands for Everyday Work & Emergencies

The most important Docker commands, short & to the point – for daily work, debugging and quick cleanups. Warning: commands marked ⚠️ are destructive (data loss possible).

🔎 Status & Overview

docker ps                  # running containers
docker ps -a              # all containers (including stopped)
docker images             # list images
docker volume ls          # list volumes
docker network ls         # list networks
docker system df          # Docker disk usage overview

📦 Containers: Start, Stop, Remove

docker run --name <name> -d -p 8080:80 <image:tag>   # start container (detached)
docker start <container>                               # start
docker stop <container>                                # stop (graceful)
docker kill <container>                                # hard stop
docker restart <container>                             # restart
docker rm <container>                                  # remove (stopped)
docker rm -f <container>                               # remove (force) ⚠️

🐳 Images

docker pull <image:tag>        # download image
docker build -t <name:tag> .    # build image (in current folder)
docker rmi <image>              # delete image
docker images -f "dangling=true" -q | xargs -r docker rmi   # delete dangling images

🗂️ Volumes

docker volume ls
docker volume inspect <volume>                 # details/path
docker volume rm <volume>                      # delete a single volume ⚠️
docker volume prune -f                          # delete all unused volumes ⚠️

🌐 Networks

docker network ls
docker network inspect <network>
docker network create <name>
docker network connect <network> <container>
docker network disconnect <network> <container>
docker network prune -f                         # delete unused networks ⚠️

🛠️ Debugging: Logs, Shell & Files

docker logs -f --tail 200 <container>              # live logs
docker exec -it <container> sh                      # shell (BusyBox/Alpine)
docker exec -it <container> bash                    # shell (Debian/Ubuntu)
docker cp <container>:/path/in/container /local     # copy file/folder (container → host)
docker cp /local <container>:/path/in/container      # copy file/folder (host → container)

🧹 Cleaning Up

docker system prune                               # delete unused data (asks first)
docker system prune -a -f                          # aggressive: including unused images ⚠️
docker image prune -a -f                           # delete unused images ⚠️
docker container prune -f                          # delete stopped containers
docker builder prune -a -f                         # delete build cache ⚠️

🧩 Docker Compose (in the project folder)

docker compose up -d                    # start (detached)
docker compose down                     # stop (keep volumes)
docker compose down -v                  # stop + delete volumes ⚠️
docker compose pull                     # update images
docker compose build --no-cache         # rebuild without cache
docker compose logs -f <service>        # service logs
docker compose exec <service> sh        # shell inside a service

🔐 Env & Inspection Helpers

docker inspect <container-or-image> | jq .       # all details as JSON
docker inspect -f '{{json .Mounts}}' <container> | jq .   # mounts/volumes
docker exec <container> env                       # show environment variables

🚨 Emergency Block (use with care!)

# Stop all containers
docker stop $(docker ps -q)

# Delete all containers ⚠️
docker rm -f $(docker ps -aq)

# Delete all volumes ⚠️ (data loss!)
docker volume rm $(docker volume ls -q)

# Force-remove every unused object ⚠️
docker system prune -a -f --volumes

💡 Tips

  • Short IDs: containers and images can be addressed by the first 3–4 characters of their ID.
  • Use tags: avoid latest in production – pin to fixed tags.
  • Persistence: before deleting, check whether a volume holds production data (inspect).
  • Compose context: always run the commands from the correct project folder.
Docker Cheat Sheet: The Most Important Commands for Everyday Work & Emergencies | BIT62