Monitoring containerised applications across Docker, Podman, and containerd runtime environments often requires juggling multiple command-line arguments or launching heavy web dashboards. While commands like docker stats provide basic real-time metrics, the output is plain, lacks interactive filtering, does not provide aggregated performance graphs, and requires opening secondary terminal sessions to inspect container logs. ctop is a lightweight, top-like terminal user interface (TUI) designed specifically for container metrics on Linux.
Written in Go, ctop provides an instant, interactive overview of all running and stopped containers. It displays real-time CPU percentages, memory allocation, network I/O, and disk metrics in a dynamic, colour-coded terminal dashboard. With single keystroke controls to pause, stop, restart, or stream container logs, ctop acts as an indispensable diagnostic console for developers and system administrators. In this guide, you will learn how to install ctop on Linux, navigate its interactive interface, filter containers, and manage container lifecycles directly from your terminal.
Key Features of ctop in Linux
Unlike standard text streams, ctop treats your container environment as an interactive dashboard:
- Real-Time Visual Metrics: Displays instant gauges for CPU utilisation, memory consumption, swap space, and network transmission rates.
- Multi-Engine Compatibility: Supports Docker daemons, Podman sockets, and containerd without requiring container modifications.
- Integrated Log Streaming: Press a single key to jump directly into a live, scrolling stdout/stderr log stream for any highlighted container.
- Quick Lifecycle Actions: Pause, unpause, stop, restart, or kill containers immediately without memorising container hashes.
- Single Static Binary: Runs with zero runtime dependencies and consumes minimal host resources, making it ideal for edge servers and lightweight VPS deployments.
Installing ctop on Linux
ctop can be installed quickly via pre-compiled binaries or native package repositories across distributions:
Method 1: Installing via Pre-Compiled Static Binary
Downloading the pre-compiled binary is the most universal method across Ubuntu, Debian, Fedora, Arch Linux, and Alpine:
- Download the latest Linux 64-bit release binary using
curl:sudo curl -fsSL https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -o /usr/local/bin/ctop - Grant execute permissions to the binary:
sudo chmod +x /usr/local/bin/ctop - Verify the installation:
ctop -v
Method 2: Installing via Package Managers
For distributions with community repositories:
- Arch Linux (AUR):
yay -S ctop-bin - Debian / Ubuntu PPA:
sudo apt-get install ca-certificates curl curl -fsSL https://azlux.fr/repo.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/azlux.gpg echo "deb [signed-by=/etc/apt/trusted.gpg.d/azlux.gpg] http://packages.azlux.fr/debian/ stable main" | sudo tee /etc/apt/sources.list.d/azlux.list sudo apt update && sudo apt install docker-ctop
Method 3: Running ctop via Docker
If you prefer not to install binaries on the host system, run ctop inside a temporary container with the Docker socket mounted:
docker run --rm -ti \
--name=ctop \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
quay.io/vektorlab/ctop:latest
Navigating the ctop Interface
Launch ctop simply by typing its command in your terminal:
ctop
Note: If you run ctop under an unprivileged user account, ensure your user belongs to the docker group (sudo usermod -aG docker $USER) or pass sudo.
Essential Keyboard Controls
| Key Shortcut | Action / Navigation |
|---|---|
Up / Down or j / k |
Move cursor highlight up and down through the container list. |
Enter |
Open the container detail menu (View metrics, Logs, Pause, Stop, Restart). |
l |
Open live log viewer for the highlighted container. |
/ |
Search and filter containers by name. |
a |
Toggle display of all containers (including exited/stopped containers). |
s |
Change metric sort field (CPU, Memory, Network, Name). |
r |
Reverse current sort order. |
q |
Quit ctop. |
Inspecting Container Metrics and Logs
Once you highlight a target container and press Enter, ctop presents an interactive action drawer:
- Single Container View: Select View Metrics to open a dedicated dashboard displaying detailed historical line graphs for CPU, RAM, and network throughput over the last several minutes.
- Log Streaming: Press
lor select Logs to view live console output. UsePage UpandPage Downto review previous stack traces, and pressqto return to the main dashboard. - Lifecycle Toggles: Quickly trigger Pause to suspend a runaway thread, or select Restart to recycle an unresponsive microservice cleanly.
Tips for Managing Production Workloads
To maximise efficiency when monitoring Docker environments with ctop:
- Filter by Environment: Press
/and type prefixes likeprod-orredisto narrow down dozens of containers to only relevant services. - Monitor Exited Containers: Press
aperiodically to check for containers that crashed unexpectedly with non-zero exit codes. - Connect to Remote Hosts: Set the
DOCKER_HOSTenvironment variable prior to launching ctop to monitor containers on remote servers over SSH or TLS sockets:DOCKER_HOST="ssh://[email protected]" ctop