- Category
- Developer Tools
- Rank
- No. 231Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- jesseduffield
- GitHub
- 52.7k stars
- Latest release
- v0.25.2
- Date
About
Terminal UI for managing Docker and docker-compose: view container logs, restart services, prune images, all without typing commands.
What it does
Lazydocker is an interactive, event-driven workspace for inspecting and operating a local Docker environment. It organizes projects, services, containers, images, volumes, and networks into navigable panels, with contextual details and actions in a main view. Keyboard navigation, mouse input, filtering, configurable themes, and translated interface text shape the experience.
Why it's ranked here
Its strongest case is operational focus. One interface covers six major Docker resource types, refreshes from Docker events, monitors container statistics, and reconnects after event-stream failures. Alternate Compose files and project names are accepted at launch. This makes it a practical console for repeated local inspection and intervention, provided Docker access already works.
What's good
The interface reacts to Docker events and also refreshes changing details on timers, reducing stale views. Filtering applies within the active list, panels can expand for more room, and destructive actions use confirmation prompts. Configuration covers colors, borders, wrapping, mouse behavior, language, quit confirmation, and initial screen size. Nine language sets are present, with automatic language detection and English fallback.
Tradeoffs
This is an interactive terminal application, not a reusable library or remote service API. It depends on a reachable Docker daemon and reports connection or socket-permission failures when access is unavailable. Background refreshes combine event listening with several periodic update loops, so the interface does ongoing work while open. Some failures open an error panel, while unexpected failures terminate with a stack trace.
How to use it well
Use it when you repeatedly inspect and operate Docker or Compose resources from a terminal, especially when switching among logs, configuration, environment details, statistics, and lifecycle actions. Launch it from the relevant project directory, or supply alternate Compose files and a project name. Keep Docker’s own command-line tools for scripting, automation, and noninteractive pipelines, because this tool is built around a live terminal interface.
Technical notes+
main.go defines the CLI entry point with config, debug, alternate Compose file, and project-name flags, then builds the application through pkg/app/app.go. pkg/gui/gui.go creates the gocui main loop, subscribes to Docker events, throttles refreshes, monitors statistics, and schedules periodic detail updates. pkg/gui/views.go defines panels for projects, services, containers, images, volumes, and networks. pkg/gui/gocui.go and pkg/gui/theme.go translate configured color names or hex values into terminal styles. pkg/i18n/i18n.go detects a language, merges its translation set over English, and falls back to English for an unsupported configured language. pkg/log/log.go writes JSON development logs when debugging and discards production output below errors.
Observed
- Primary language
- Go
- Interface
- Interactive terminal user interface with CLI launch flags
- Docker scope
- Supports Docker and Docker Compose workflows
- Resource panels
- Projects, services, containers, images, volumes, and networks
- Install surface
- Go module source and Homebrew formula badge
- Terminal framework
- Built with gocui
- Localization
- Translation sets for English, Polish, Dutch, German, Turkish, French, Chinese, Spanish, and Portuguese
Read from README.md, go.mod, main.go, pkg/app/app.go, pkg/gui/gui.go, pkg/log/log.go, pkg/gui/focus.go, pkg/gui/gocui.go, pkg/gui/theme.go, pkg/gui/views.go, pkg/i18n/i18n.go, pkg/gui/layout.go, pkg/gui/panels.go, pkg/gui/window.go, pkg/i18n/dutch.go.
What it can do
View container logs
Running Docker containers → Container log output
Restart services
Docker services or containers → Restarted services
Prune unused images
Docker images on system → Cleaned up disk space
Manage docker-compose services
Docker compose configuration → Service management operations
Monitor container status
Running Docker containers → Real-time container status information
Navigate Docker resources
Docker containers, images, networks, volumes → Interactive browsing interface
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
