Monitoring and managing Docker containers, images, and networks from the Linux command line often requires chaining multiple commands like docker ps, docker stats, docker logs, and docker inspect. When troubleshooting microservices or containerised stacks, executing repetitive Docker commands slows down incident response. The dry utility provides an interactive, terminal-based dashboard that connects directly to the Docker daemon, giving administrators instant visibility and keyboard-driven control over running containers, storage volumes, and network bridge configurations.
What Is dry for Docker?
dry is an open-source terminal UI written in Go. Unlike web-based container management panels (such as Portainer), dry operates entirely inside your terminal session over standard SSH, requiring zero open HTTP ports, no browser dependencies, and negligible CPU overhead.
Key capabilities include:
- Live Resource Metrics: Real-time streaming monitors for CPU utilisation, RAM allocation, network I/O, and block storage read/write rates.
- Interactive Container Lifecycle: Start, restart, stop, kill, or remove containers with single keystrokes.
- Instant Log Streaming: View, filter, and scroll through live
stdoutandstderrlogs directly in the terminal buffer. - Image and Volume Pruning: Audit dangling image layers, inspect inspect manifests, and prune unused Docker volumes safely.
- Docker Swarm Compatibility: Native support for inspecting Docker Swarm clusters, services, and task distribution across worker nodes.
Installing dry on Linux
dry is distributed as a standalone precompiled binary that requires no external runtimes.
Method 1: Direct Binary Installation (Universal)
Download the official release script or binary directly from GitHub:
# Download the binary to /usr/local/bin
sudo curl -sL https://github.com/moncho/dry/releases/latest/download/dry-linux-amd64 -o /usr/local/bin/dry
# Grant executable permissions
sudo chmod +x /usr/local/bin/dry
Method 2: Run dry as a Docker Container
If you prefer not to install local binaries, you can launch dry directly through Docker by mounting the Docker UNIX socket:
docker run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
moncho/dry
You can alias this command in your ~/.bashrc or ~/.zshrc for convenience:
alias dry="docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock moncho/dry"
Method 3: Arch Linux (AUR)
Arch Linux users can install dry using yay or paru:
yay -S dry-bin
Launching and Connecting dry
To connect to the local Docker engine, ensure your Linux user account is part of the docker user group, or launch with root privileges:
# Check Docker service status
sudo systemctl status docker
# Launch the interactive terminal UI
dry
If you connect to a remote Docker daemon over TLS, specify the host address:
dry -H tcp://192.168.1.50:2376
Navigating the Container Dashboard
Upon launching, dry presents an overview table showing all containers, their status, mapped ports, and base images.
Essential Keyboard Shortcuts:
| Key | Function |
|---|---|
| Up / Down or j / k | Navigate through the list of containers |
| Enter | Open the contextual management menu for the highlighted container |
| l | Stream live container logs |
| s | Toggle live streaming resource statistics (CPU, memory, net, block) |
| i | Inspect detailed JSON metadata and container environment variables |
| 1 | Switch view to Containers mode |
| 2 | Switch view to Images mode (audit tags, sizes, and layers) |
| 3 | Switch view to Networks mode |
| 4 | Switch view to Volumes mode |
| q / Esc | Return to previous menu or exit dry |
Managing Container Operations Interactively
Highlight any container and press Enter to open its action sheet. From this submenu, you can:
- Restart: Sends a graceful SIGTERM followed by SIGKILL to cycle the application cleanly.
- Stop / Kill: Immediately halts execution without remembering container IDs.
- Remove: Deletes stopped containers and optionally removes associated anonymous volumes.
- Execute Shell: Attaches an interactive
/bin/shor/bin/bashshell directly inside the running container.
Auditing and Pruning Unused Images and Volumes
Press 2 to enter the Images view. dry displays all local container images along with repository tags and creation dates. Press Ctrl + d to prune dangling untagged layers, reclaiming gigabytes of disk space instantly without leaving the terminal UI.