📖 Introduction
dcli is a high-efficiency Docker management tool built for developers. Evolved from the acclaimed lazydocker, it moves away from a heavy TUI (Terminal UI) towards a pure CLI interactive mode that better aligns with terminal philosophy.
It automatically detects your project environment, merges fragmented Compose files, and frees you from typing long docker-compose -f ... -f ... up commands.
✨ Key Features
- 📂 Smart Context Detection
Automatically identifies
.git or project roots, deep scans, and merges all docker-compose*.yml configuration files.
- 🔍 Interactive Fuzzy Search
Built-in
fzf-like search experience. Simply press s to instantly locate containers, images, or volumes.
- 🛠️ Unified Management Workflow
Seamlessly manages both local Compose projects and standalone Docker containers. Automatically switches to Fallback mode for external containers to ensure core management is never interrupted.
- ⚡ One-Key Actions
Supports numeric shortcuts (1-17) and shorthand commands. Start, restart, or view logs in an instant.
- 🧹 System Deep Cleanup
Built-in Prune commands to quickly reclaim disk space from unused networks, volumes, images, and build caches.
- 📦 Predefined Stack Templates
One-click deployment for common development environments like ELK log monitoring stacks, MySQL/Redis database stacks, and more.
🚀 Quick Start
Installation
Via Go:
go install github.com/yaogh99123/dcli@latest
Or download binary from the release page:
GitHub Releases
⌨️ Usage
Simply run dcli in your terminal to enter interactive mode:
dcli
Command Flags
| Flag |
Description |
-a, --arun |
Show all services (including non-running ones) |
-n, --nrun |
Show only non-running services |
-f, --file |
Manually specify custom Compose files |
-p, --project |
Specify a custom project name |
-c, --config |
Print the current default configuration |
🎮 Interactive Guide
Once inside dcli, you can perform operations using the following shortcuts:
Core Operations
1 - 3: Up / Stop / Restart services
4: View logs (type exit to return)
7: Enter container (auto-detects bash or sh)
8: Build and update services
s: Enable fuzzy search mode
menu: Show full functionality menu
0: Exit program
Quick Filtering
a: Switch to "Show All"
r: Switch to "Running Only"
l: Switch to list mode
🛠️ Customization
Configuration files are typically located at:
- macOS:
~/Library/Application Support/yaogh99123/dcli/config.yml
- Linux:
~/.config/yaogh99123/dcli/config.yml
You can view your current default configuration and make adjustments by running dcli -c.
📜 Credits
The birth of this project was inspired by lazydocker. We have refactored and optimized its powerful Docker management logic into a CLI-focused tool for heavy terminal users.
Built with ❤️ by the open-source community.