Written in Go  ·  Zero Config

tdocker

A pragmatic everyday docker ps alternative.

A minimalistic terminal UI for everyday Docker operations. Just the handful of things you actually do dozens of times a day, each a single keypress away.

$ brew install pivovarit/tap/tdocker
tdocker - zsh

Intentionally small.

tdocker 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.

Everything in one keypress.

All the container operations you reach for dozens of times a day, without remembering IDs or chaining CLI commands.

Zero Config

Drop in and go. No setup files, no environment variables, no config directories. Just run tdocker.

📋

Live Logs

l streams live logs full-screen. f toggles between the last 200 lines and full history. T toggles timestamps. Auto-scrolls as new lines arrive, scroll up to pause.

🖥

Exec & Debug

e auto-detects available shells in the container. x launches Docker debug for distroless or scratch images.

📊

Stats & Inspect

t shows real-time CPU, memory, net I/O, block I/O, and PIDs with trend indicators (↑ ↓ ·). i opens full-screen container inspection.

🔍

Fuzzy Filter

/ filters by name, image, ID, Compose project, and service. Press / while typing to accept and navigate immediately.

Container Events

v streams live Docker events with color-coded actions. The container list auto-refreshes on lifecycle events.

Every action, one key away.

No mouse. No menus. Everything you need is bound to a single keystroke.

Navigation
Navigate containers
Expand / collapse inline details
jk
Vim-style navigation
g
Jump to top
G
Jump to bottom
/
Filter containers
A
Toggle all / running only
T
Toggle inline CPU / mem columns
r
Refresh container list
X
Switch Docker context
?
Show help
qCtrl+C
Quit
Container Actions
l
Tail live logs
e
Exec into container (sh)
x
Open Docker debug shell
i
Inspect container config
t
Show CPU & memory 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
Logs Panel (open with l)
f
Toggle last 200 lines / full history
T
Toggle timestamps
/
Search within logs
ctrl+g
Switch to server-side grep (faster for large logs)
Escl
Close logs panel

The small things that add up.

Behaviors designed to keep you in the flow.

tdocker tips
# filter
press / while typing a filter to accept it and navigate immediately
q clears the active filter first, press again to quit

# logs & inspect
press on a container to expand port bindings and network info as navigable rows inline; collapses them
and also expand and collapse Compose project groups
logs auto-scroll as new lines arrive, scroll up to pause, bottom to resume

# containers
S stops running containers and starts stopped ones, R does the same for restart
e auto-detects shells, for distroless/scratch images, use x (docker debug)

# logs panel
f switches between tail-200 and full history; T toggles timestamps
ctrl+g switches active search to server-side grep — much faster for large log volumes

Up and running in seconds.

Requires Docker. Install via Homebrew, go install, or build from source.

Homebrew Recommended
$ brew install pivovarit/tap/tdocker
$ tdocker
go install
$ go install github.com/pivovarit/tdocker@latest
# ensure ~/go/bin is on your PATH (add to .bashrc / .zshrc)
$ export PATH="$PATH:$(go env GOPATH)/bin"
$ tdocker
From Source
$ git clone https://github.com/pivovarit/tdocker
$ cd tdocker && go run .
Grzegorz Piwowarek

Grzegorz Piwowarek

Java Champion, Oracle ACE, and WarsawJUG Leader