Showing 50 of 50 commands
Build, pull, push and manage Docker images
docker pull <image>beginnerDownload an image from a registry (Docker Hub by default)
docker build -t <name>:<tag> <path>beginnerBuild an image from a Dockerfile in the specified path
docker imagesbeginnerList all locally available images
docker rmi <image>beginnerRemove one or more images from local storage
docker push <image>beginnerUpload an image to a registry
docker tag <source> <target>beginnerCreate a new tag that refers to an existing image
docker image prunebeginnerRemove unused/dangling images to free up disk space
docker inspect <image>intermediateReturn low-level JSON information about an image
docker history <image>intermediateShow the build history and layers of an image
docker save -o <file>.tar <image>intermediateExport an image to a tar archive for offline transfer
docker load -i <file>.tarintermediateImport an image from a tar archive
Run, manage, inspect and debug containers
docker run <image>beginnerCreate and start a new container from an image
docker psbeginnerList running containers
docker stop <container>beginnerGracefully stop a running container (SIGTERM → SIGKILL)
docker start <container>beginnerStart one or more stopped containers
docker rm <container>beginnerRemove one or more stopped containers
docker exec -it <container> <cmd>beginnerRun a command inside a running container interactively
docker logs <container>beginnerFetch the logs output from a container
docker inspect <container>intermediateReturn detailed JSON metadata about a container
docker statsintermediateDisplay a live stream of resource usage for containers
docker cp <src> <dest>intermediateCopy files between a container and the local filesystem
docker commit <container> <image>advancedCreate a new image from a container's current state
Persistent data storage for containers
docker volume create <name>beginnerCreate a named volume managed by Docker
docker volume lsbeginnerList all Docker volumes on the host
docker volume rm <name>beginnerRemove one or more volumes
docker volume inspect <name>intermediateShow detailed info about a volume including its mount point
docker volume prunebeginnerRemove all unused local volumes
docker run -v <vol>:<path> <image>beginnerMount a named volume into a container at a specific path
Container networking and DNS
docker network create <name>beginnerCreate a new Docker network
docker network lsbeginnerList all Docker networks
docker network connect <net> <container>intermediateConnect a running container to a network
docker network disconnect <net> <container>intermediateDisconnect a container from a network
docker network inspect <name>intermediateShow detailed info about a network including connected containers
docker network rm <name>beginnerRemove one or more networks
docker network prunebeginnerRemove all unused networks
Multi-container apps with Docker Compose
docker compose upbeginnerCreate and start all services defined in docker-compose.yml
docker compose downbeginnerStop and remove containers and networks
docker compose psbeginnerList containers for the current compose project
docker compose logsbeginnerView log output from services
docker compose exec <service> <cmd>beginnerExecute a command inside a running service container
docker compose buildbeginnerBuild or rebuild service images without starting them
docker compose configintermediateValidate and print the resolved compose configuration
Login, push, pull from registries
docker login <registry>beginnerAuthenticate to a Docker registry
docker logout <registry>beginnerLog out from a Docker registry
docker search <term>beginnerSearch Docker Hub for images
System info, cleanup and diagnostics
docker system dfbeginnerShow Docker disk usage - images, containers, volumes, build cache
docker system prunebeginnerRemove stopped containers, unused networks, dangling images and build cache
docker infobeginnerDisplay system-wide information about the Docker daemon
docker versionbeginnerShow Docker client and server version details
docker eventsadvancedStream real-time events from the Docker daemon
Every Docker command you need - with flags, real-world examples, and pro tips. Search, filter by category or difficulty, and copy with one click.
devopslesson.com/tools/cheatsheets/docker
docker pull <image>beginnerDownload an image from a registry (Docker Hub by default)
docker pull nginx:latest💡 Always pin a specific tag in production instead of using :latest
docker build -t <name>:<tag> <path>beginnerBuild an image from a Dockerfile in the specified path
docker build -t myapp:1.0 .💡 Use .dockerignore to exclude files and speed up your build context
docker imagesbeginnerList all locally available images
docker images --filter "dangling=true"docker rmi <image>beginnerRemove one or more images from local storage
docker rmi nginx:latest myapp:1.0💡 Remove all dangling images with: docker image prune
docker push <image>beginnerUpload an image to a registry
docker push myrepo/myapp:1.0💡 You must be logged in with docker login before pushing to a private registry
docker tag <source> <target>beginnerCreate a new tag that refers to an existing image
docker tag myapp:latest myrepo/myapp:1.0docker image prunebeginnerRemove unused/dangling images to free up disk space
docker image prune -adocker inspect <image>intermediateReturn low-level JSON information about an image
docker inspect nginx --format='{{.Config.Env}}'docker history <image>intermediateShow the build history and layers of an image
docker history --no-trunc nginx:latest💡 Useful for auditing image size and understanding layer caching
docker save -o <file>.tar <image>intermediateExport an image to a tar archive for offline transfer
docker save -o myapp.tar myapp:1.0docker load -i <file>.tarintermediateImport an image from a tar archive
docker load -i myapp.tardocker run <image>beginnerCreate and start a new container from an image
docker run -d -p 8080:80 --name webserver nginx💡 Use --rm for short-lived containers to avoid accumulating stopped containers
docker psbeginnerList running containers
docker ps -a --format "table {{.Names}}\t{{.Status}}"docker stop <container>beginnerGracefully stop a running container (SIGTERM → SIGKILL)
docker stop webserverdocker start <container>beginnerStart one or more stopped containers
docker start webserverdocker rm <container>beginnerRemove one or more stopped containers
docker rm -f webserver💡 Remove all stopped containers with: docker container prune
docker exec -it <container> <cmd>beginnerRun a command inside a running container interactively
docker exec -it webserver bash💡 If bash isn't available try: docker exec -it <container> sh
docker logs <container>beginnerFetch the logs output from a container
docker logs -f --tail 100 webserverdocker inspect <container>intermediateReturn detailed JSON metadata about a container
docker inspect webserver --format='{{.NetworkSettings.IPAddress}}'docker statsintermediateDisplay a live stream of resource usage for containers
docker stats --no-streamdocker cp <src> <dest>intermediateCopy files between a container and the local filesystem
docker cp webserver:/etc/nginx/nginx.conf ./nginx.confdocker commit <container> <image>advancedCreate a new image from a container's current state
docker commit webserver myapp:debug💡 Prefer Dockerfiles over docker commit for reproducible builds
docker volume create <name>beginnerCreate a named volume managed by Docker
docker volume create mydatadocker volume lsbeginnerList all Docker volumes on the host
docker volume ls --filter "dangling=true"docker volume rm <name>beginnerRemove one or more volumes
docker volume rm mydata💡 A volume cannot be removed while in use by a container
docker volume inspect <name>intermediateShow detailed info about a volume including its mount point
docker volume inspect mydatadocker volume prunebeginnerRemove all unused local volumes
docker volume prune -f💡 Be careful - this permanently deletes all data in unused volumes
docker run -v <vol>:<path> <image>beginnerMount a named volume into a container at a specific path
docker run -v mydata:/app/data nginx💡 Use named volumes for persistent data; bind mounts for dev workflows
docker network create <name>beginnerCreate a new Docker network
docker network create --driver bridge mynet💡 Containers on the same custom bridge network can communicate by container name
docker network lsbeginnerList all Docker networks
docker network ls --filter driver=bridgedocker network connect <net> <container>intermediateConnect a running container to a network
docker network connect mynet webserverdocker network disconnect <net> <container>intermediateDisconnect a container from a network
docker network disconnect mynet webserverdocker network inspect <name>intermediateShow detailed info about a network including connected containers
docker network inspect mynetdocker network rm <name>beginnerRemove one or more networks
docker network rm mynet💡 All containers must be disconnected before a network can be removed
docker network prunebeginnerRemove all unused networks
docker network prune -fdocker compose upbeginnerCreate and start all services defined in docker-compose.yml
docker compose up -d --build💡 Always use --build in CI/CD to ensure fresh images
docker compose downbeginnerStop and remove containers and networks
docker compose down -vdocker compose psbeginnerList containers for the current compose project
docker compose ps --servicesdocker compose logsbeginnerView log output from services
docker compose logs -f webdocker compose exec <service> <cmd>beginnerExecute a command inside a running service container
docker compose exec web bashdocker compose buildbeginnerBuild or rebuild service images without starting them
docker compose build --no-cache webdocker compose configintermediateValidate and print the resolved compose configuration
docker compose config --services💡 Useful for debugging variable substitution and extension merges
docker login <registry>beginnerAuthenticate to a Docker registry
docker login ghcr.io💡 Use --password-stdin in CI: echo $TOKEN | docker login --username user --password-stdin
docker logout <registry>beginnerLog out from a Docker registry
docker logout ghcr.iodocker search <term>beginnerSearch Docker Hub for images
docker search nginx --filter stars=100docker system dfbeginnerShow Docker disk usage - images, containers, volumes, build cache
docker system df -vdocker system prunebeginnerRemove stopped containers, unused networks, dangling images and build cache
docker system prune -af💡 Great for freeing disk space on CI runners between builds
docker infobeginnerDisplay system-wide information about the Docker daemon
docker info --format "{{.ServerVersion}}"docker versionbeginnerShow Docker client and server version details
docker versiondocker eventsadvancedStream real-time events from the Docker daemon
docker events --filter type=container