Ir al contenido

ctop: Container Monitoring in the Terminal, for Docker and runC

· 2026-08-07

What you see when you start ctop

docker stats delivers numbers. Nothing more. No log, no shell, no way to stop a hung container without switching tools.

ctop turns this into an interface. One line per container, updated every second: CPU load, memory usage, network throughput, read and write rates. Sortable by any column, filterable via a search field. If a line stands out, you open it with o and get the trends as a graph. Two optional columns additionally show you the health check status and the number of restarts, the latter turning red from the sixth restart onwards. The tool requires no configuration and no agent for this; it reads the Docker socket and draws.

Why ctop when there's docker stats?

docker stats shows a table of numbers and nothing else. ctop adds an operable interface on top: sort and filter containers, open logs and shell, start, stop, remove, or save containers as images, all without leaving the window.

Docker and runC in the same view

ctop addresses two container runtimes. The Docker connector takes DOCKER_HOST and works on Linux, macOS and Windows. The runC connector reads directly from /run/runc and only runs on Linux, but without a Docker daemon in between.

What you can do in the container menu

Operation runs completely via single keys, without modifiers:

Key What happens
Enter Open container menu
l Show logs, t toggles timestamps
e Open shell in container
o Single view with graphs
f Filter containers
c Configure columns
S Save configuration

From the menu you start, stop, and remove containers. Since version 0.8.3 there are two additional entries: stop + remove does both in one step with confirmation, commit to image freezes a running container as a local image. Which shell e starts, you set via --shell or CTOP_SHELL.

Install

brew install eqms/ctop/ctop

Or as a binary, without a package manager:

sudo curl -Lo /usr/local/bin/ctop \
  https://github.com/eqms/ctop/releases/latest/download/ctop-0.8.8-linux-amd64
sudo chmod +x /usr/local/bin/ctop

As a container:

docker run --rm -ti --name=ctop \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  ghcr.io/eqms/ctop:latest

There are binaries for Linux, macOS, and Windows, each amd64, plus arm64 for Linux and macOS. Each release includes the SHA256 checksums.

Why this fork and not the original

The original by VektorLab received its last release on March 22, 2022. This fork keeps it running: current Go version, patched dependencies, credentials are masked in the display and in debug logs. Why I do this is on the project page.

ctop is licensed under MIT, Copyright VektorLab. The source code is on GitHub, issues are open.