A minimalistic terminal UI for everyday Docker operations. Not a dashboard, not a full Docker management suite - just the handful of things you actually do dozens of times a day, each a single keypress away: tail logs, exec into a shell, restart a container, copy an ID.
tdocker_demo.mov
Philosophy
tdocker is intentionally small. It covers the most common Docker workflows and nothing more. No plugin system, no YAML configs, no container creation wizards. If an operation isn't something you'd do multiple times a week, it probably doesn't belong here.
Getting started
Install with Homebrew:
brew install pivovarit/tap/tdocker
Or install with go install:
go install github.com/pivovarit/tdocker@latest
Make sure $GOPATH/bin is on your $PATH (the default is ~/go/bin):
export PATH="$PATH:$(go env GOPATH)/bin"
Add the line above to your shell profile (.bashrc, .zshrc, etc.) to make it permanent.
Then launch:
Or run directly from source:
git clone https://github.com/pivovarit/tdocker && cd tdocker && go run .
Tested on
| Component | Version |
|---|---|
| macOS | 26.3 (Sequoia) |
| Docker Desktop | 29.2.1 |
| Go | 1.26 |
| Architecture | arm64 (Apple Silicon) |
Clipboard integration is supported on macOS (pbcopy), Windows (clip), Linux/X11 (xclip), Linux/Wayland (wl-copy), and SSH/headless via OSC 52.
Keybindings
| Key | Action |
|---|---|
↑ / ↓ / j / k |
Navigate |
g / G |
Jump to top / bottom |
→ / ← |
Expand inline details / collapse |
/ |
Filter containers |
A |
Toggle all / running only |
l |
View logs |
e |
Exec into container (sh) |
x |
Open debug shell (docker debug) |
i |
Inspect container |
t |
Show stats |
v |
Stream Docker events |
c |
Copy container ID to clipboard |
S |
Start / Stop (toggles by state) |
R |
Restart container |
P |
Pause / Unpause |
D |
Delete container (stopped only) |
N |
Rename container |
r |
Refresh |
X |
Switch Docker context |
? |
Show help |
q / Ctrl+C |
Quit |
Tips & Hints
- Navigate while filtering - press
↑/↓while typing a filter to accept it and immediately navigate the list qclears filters first - if a filter is active,qclears it instead of quitting; press again to exit- Inline details - press
→on any container to expand port bindings and network info as navigable rows inline;←collapses them - Compose groups -
→and←also expand and collapse Compose project groups - Auto-scroll in logs - logs auto-scroll as new lines arrive; scroll up to pause, scroll back to the bottom to resume
- Smart actions -
Sstops running containers and starts stopped ones;Rrestarts running containers and starts stopped ones - Shell detection -
eauto-detects available shells; for distroless/scratch images, usex(docker debug) instead