What Lazydocker Does
- Containers panel — status, CPU, memory, ports at a glance
- Logs — live tail any container
- Stats — real-time CPU/memory/network graphs
- Exec — jump into container shell
- Images — list, prune, remove
- Volumes — inspect, prune
- Networks — list, inspect
- Compose — services, restart, rebuild
- Custom commands — shortcut your own docker commands
Architecture
Go binary with gocui TUI. Wraps the Docker CLI under the hood. Auto-discovers the current project docker-compose.yml and surfaces its services. State is refreshed on interval.
Self-Hosting
CLI tool — install locally.
Key Features
- Single-binary TUI
- Live container stats
- Inline log viewer
- Shell exec shortcut
- Compose-aware
- Volume and image management
- Bulk prune operations
- Custom command bindings
- Dark and light themes
Comparison
| Tool | Type | Scope | Compose-aware |
|---|---|---|---|
| Lazydocker | TUI | Full docker + compose | Yes |
| ctop | TUI | Containers stats only | No |
| docker-compose-ui | Web | Compose management | Yes |
| Portainer | Web GUI | Full docker + swarm | Yes |
| docker CLI | CLI | Full docker | Yes |
FAQ
Q: How does it compare to Portainer? A: Portainer is a web GUI — great for team collaboration + remote management. Lazydocker is a local TUI — great for developer workflows with zero configuration.
Q: Can I connect to a remote Docker?
A: Yes. Set DOCKER_HOST=tcp://remote:2375 or switch via docker contexts. Lazydocker connects to the current context.
Q: Performance overhead? A: A few MB of RAM. It polls the Docker API on a configurable interval. Slightly slower than the native Docker CLI, but negligibly so.
Sources & Credits
- GitHub: https://github.com/jesseduffield/lazydocker
- License: MIT