Skip to content
Built with Rust v0.7.3

Docker Monitoring
In Your Terminal

A real-time TUI for monitoring Docker containers across multiple hosts. Track CPU, memory, and network metrics — all from your terminal.

Blazing fast. Minimal resource usage.

dtop

Multi-Host Support

Monitor containers across local, SSH, and TCP connections simultaneously from a single terminal session.

Real-Time Metrics

Track CPU, memory, and network I/O with smooth exponential moving averages. Color-coded at a glance.

Fast & Lightweight

Built with Rust for minimal CPU and memory footprint. Starts instantly, runs silently in the background.

Get Started

Choose your preferred installation method

Homebrew
brew install dtop
Docker
docker run -v /var/run/docker.sock:/var/run/docker.sock -it ghcr.io/amir20/dtop
Install Script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/amir20/dtop/releases/latest/download/dtop-installer.sh | sh
Nix
nix run github:amir20/dtop
Install from Source
cargo install dtop

Then run:

$ dtop_

Command Line

All the flags you need to get started

-H, --host <HOST>

Docker host(s) to connect to. Can be specified multiple times.

--host local Connect to local Docker daemon
--host ssh://user@host Connect via SSH
--host ssh://user@host:2222 Connect via SSH with custom port
--host tcp://host:2375 Connect via TCP to remote Docker daemon
--host tls://host:2376 Connect via TLS
--host local --host ssh://user@server1 --host tls://server2:2376 Multiple hosts
-i, --icons <ICONS>

Icon style to use for the UI

--icons unicode Standard Unicode icons (default, works everywhere)
--icons nerd Nerd Font icons (requires Nerd Font installed)
-f, --filter <FILTER>

Filter containers (can be specified multiple times)

--filter status=running
--filter name=nginx
--filter label=com.example.version=1.0
--filter ancestor=ubuntu:24.04
-a, --all

Show all containers (default shows only running containers)

-s, --sort <SORT>

Default sort field for container list

--sort uptime Sort by container uptime/creation time (default, newest first)
--sort name Sort by container name (alphabetically)
--sort cpu Sort by CPU usage (highest first)
--sort memory Sort by memory usage (highest first)

tip — Combine multiple hosts and filters: dtop --host local --host ssh://user@server -f status=running

Configuration

Configure dtop with a YAML file for persistent settings

Config File Locations

Searched in priority order — first found wins

1 ./config.yaml or ./config.yml, ./.dtop.yaml, ./.dtop.yml
2 .config/dtop/config.yaml or .config/dtop/config.yml
3 .dtop.yaml or .dtop.yml
Hosts
# == Hosts ==
# Docker host(s) to connect to. You can specify multiple hosts to monitor
# them simultaneously.
# Possible values for host: local, ssh://user@host, tcp://host:port, tls://host:port
# Optional fields per host: dozzle (URL), filter (list of Docker filters)
hosts:
  - host: local
  # - host: ssh://user@server1
  #   dozzle: https://dozzle.server1.com/
  #   filter:
  #     - status=running
  #     - label=environment=production
  # - host: tcp://192.168.1.100:2375
  # - host: tls://192.168.1.100:2376
Icons
# == Icons ==
# Icon style for the UI.
# Possible values: unicode, nerd (requires Nerd Font)
icons: unicode
Show All
# == All ==
# Whether to show all containers including stopped, exited, and paused.
# Possible values: true, false
all: false
Sort
# == Sort ==
# Default sort field for the container list.
# Possible values: uptime, name, cpu, memory
sort: uptime
Columns
# == Columns ==
# Column visibility and order.
# List only the columns you want to see, in the order you want them.
# Omitted columns are hidden. Press 'c' in the UI to toggle columns interactively.
# Possible values: status, name, id, host, compose, cpu, memory, net_tx, net_rx, uptime, restarts
# columns:
#   - status
#   - name
#   - id
#   - host
#   - compose
#   - cpu
#   - memory
#   - net_tx
#   - net_rx
#   - uptime
#   - restarts

tip — CLI arguments always take precedence over config file values

Keyboard Shortcuts

Navigate everything from the keyboard

?
Show help overlay
s
Open sort selector
c
Column visibility
Enter
Open container action menu
View container logs
Return to container list
/
Search and filter containers
a
Toggle showing all containers

tip — Connect to remote hosts with dtop --host ssh://user@host