Skip to main content

Command Palette

Search for a command to run...

30 Essential Docker Commands: A Practical Guide for SREs

Updated
4 min read
30 Essential Docker Commands: A Practical Guide for SREs

1. Container Management (Lifecycle)

CommandPurposeExample
docker psList running containers.docker ps -a (to see all containers, including those that exited with errors).
docker runCreate and start a container.docker run -d --name web nginx (run a web server in the background/detached).
docker stopStop a running container.docker stop $(docker ps -q) (stop all running containers at once).
docker rmRemove a container.docker rm -f web (force removal of a running container).
docker execRun a command in a container.docker exec -it web bash (get an interactive shell inside a container).
docker logsFetch container logs.docker logs -f --tail 100 web (follow the last 100 log lines in real-time).

2. Image Management

CommandPurposeExample
docker imagesList available images.docker images -q (get only the IDs of all local images).
docker pullDownload an image.docker pull redis:latest (ensure you have the latest version before deployment).
docker buildBuild an image from a Dockerfile.docker build -t my-app:v1 . (tag a new version of your application).
docker rmiRemove an image.docker rmi $(docker images -f "dangling=true" -q) (clean up unused/dangling images).
docker tagCreate a tag for an image.docker tag my-app:v1 myrepo/my-app:v1 (prepare an image for a registry).
docker pushUpload an image to a registry.docker push myrepo/my-app:v1 (deploy the image to Docker Hub or ACR/ECR).

3. Observability & Troubleshooting

CommandPurposeExample
docker statsLive resource usage.docker stats --no-stream (get a snapshot of CPU/RAM usage per container).
docker inspectLow-level info on objects.docker inspect web (Information about the container)
docker topDisplay running processes.docker top web (see what processes are running inside the container host-side).
docker portList port mappings.docker port web (verify which host port is mapped to the container's port).
docker eventsReal-time events from server.docker events --since 1h (audit what happened in the Docker engine recently).
docker diffChanges in the FS.docker diff web (see what files were modified/added in the container layer).

4. Network & Volumes

CommandPurposeExample
docker network lsList networks.docker network ls (check available drivers like bridge, host, or overlay).
docker network inspectDetailed network info.docker network inspect bridge (see which containers are attached to a network).
docker volume lsList volumes.docker volume ls (identify persistent data volumes).
docker volume pruneRemove unused volumes.docker volume prune (recover disk space from orphaned volumes).
docker cpCopy files to/from container.docker cp web:/etc/nginx/nginx.conf . (extract a config file for local review).
docker network connectConnect container to network.docker network connect my-net web (dynamically attach a container to a new network).

5. Advanced & Cleanup

CommandPurposeExample
docker system pruneTotal cleanup.docker system prune -a --volumes (wipe everything unused to free up disk).
docker system dfShow docker disk usage.docker system df (diagnose why the Docker partition is full).
docker-compose upOrchestrate multiple containers.docker-compose up -d (deploy an entire stack defined in a YAML).
docker-compose logsView logs from a stack.docker-compose logs -f app (follow logs for a specific service in the stack).
docker commitCreate image from container.docker commit web my-emergency-image (save a container's state for forensics).
docker waitWait for a container to stop.docker wait web (useful in scripts to take action after a container finishes).

More from this blog