Sie sind nicht allein auf dieser Welt, wenn Sie lange Zeit nicht zufrieden sind mit der Standardausgabe von
docker ps
. Obwohl es zu diesem Thema verschiedene Problemumgehungen gibt
(siehe Ende des Artikels) , musste ein Enthusiast einmal „etwas anderes“ tun ... und dies geschah im kommenden Jahr 2019. Sein Name ist
Docker-Pretty-Ps .
Die Idee des Autors ist sehr banal: horizontale Ausgabe und Farben für Klarheit.

Und als Publikum werden die Dienstprogramme
als "Entwickler statt Hardcore-DevOps- oder SRE-Ingenieure" bezeichnet.
Die Möglichkeiten
Mit dem Aussehen sollte alles klar vom Bild sein. Was erlaubt das Dienstprogramm im Sinne von Funktionen? Standardmäßig werden alle laufenden Container angezeigt, aber dies ist natürlich nicht auf Möglichkeiten beschränkt - Docker-Pretty-Ps unterstützt dies:
- Ausgabe aller Container (einschließlich gestoppt);
- Suche nach Containern anhand der Vorlage:
docker-pretty-ps my,try
zeigt die Container an, in deren Namen *my*
und *try*
(z. B. docker-registry
und mysql-redmine
). - verschiedene Sortieroptionen;
- anpassbare Ausgabefelder für jeden Container (verfügbar:
container_id
, created
, ports
, image_id
, status
, command
); - Kompakter,
slim
Ausgabemodus (entfernt alle oben aufgeführten Felder, wobei nur die Namen der Container übrig bleiben):

- Ausgabedaten im JSON-Format.
Installation
Der Projektcode ist in Python geschrieben, und die Autoren weisen separat darauf hin, dass Python-Pakete von Drittanbietern nicht verwendet werden. Zum Starten reicht es also aus, Docker und Python im System zu haben, was für viele gilt.
Die Installation erfolgt über pip:
pip install docker-pretty-ps
... oder eine einfache Montage:
git clone https://github.com/politeauthority/docker-pretty-ps.git cd docker-pretty-ps python3 setup.py build python3 setup.py install
Alles - Sie können verwenden:
$ docker-pretty-ps -h usage: docker-pretty-ps [-h] [-a] [-s] [-i INCLUDE] [-o [ORDER]] [-r] [-j] [-v] [search] positional arguments: search Phrase to search containers, comma separate multiples. optional arguments: …
Andere Problemumgehungen
Trotz der weit verbreiteten Unterstützung von Reddit ist dieses Dienstprogramm sicherlich nicht für jeden geeignet. Insbesondere wenn Sie viele Container haben (zehn oder mehr), ist die Verwendung des
slim
Modus nicht immer praktisch. Und dann kann eine der bekannten Problemumgehungen nützlicher sein.
Docker ps - Format
Die Formatierungsoption für
docker ps
ist nicht nur eine Problemumgehung, sondern in gewissem Sinne auch die beste Lösung. Für die Installation im System ist nichts Besonderes erforderlich.
Das Argument
--format
wird von vielen Docker-Befehlen akzeptiert, sodass (über die
go-Vorlage ) die Ausgabe für sich selbst angepasst werden kann. Für das
docker ps
Team erschien seine Unterstützung vor langer Zeit (in der Veröffentlichung von Docker 1.8 ab August 2015). Hier ist ein Beispiel für seine Verwendung:
[flant] d.shurupov@kube-node-test ~ $ sudo docker ps --format 'table {{.Names}}\t{{.Image}}' NAMES IMAGE k8s_fluentd_fluentd-jmzjd_loghouse… flant/loghouse-fluentd… k8s_cert-manager_cert-manager-… quay.io/jetstack/cert-manager-controller… k8s_prometheus-config-reloader_… 597141b113d9 k8s_prometheus_prometheus-main-… cc866859f8df k8s_POD_prometheus-main-0_kube-… k8s.gcr.io/pause-amd64:3.1 …
(Hinweis: Im obigen Beispiel wurden die vollständigen Namen der Container und Bilder zur besseren Visualisierung manuell zugeschnitten.)Details zum Arbeiten mit
--format
finden Sie beispielsweise in
diesem Artikel . Beispiele für verfügbare Funktionen finden Sie in der
Docker-Dokumentation .
ctop
Eine vielleicht noch beliebtere Methode ist die Verwendung des Dienstprogramms
ctop , das eine ähnliche Oberfläche wie das klassische
top
bietet, jedoch für Docker-Container:

Der bequeme Start in der Konsole kann auf einen solchen Alias reduziert werden:
alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'
Darüber hinaus gibt es natürlich andere - in ihren Funktionen fortgeschrittenere - Schnittstellen, deren Beschreibung jedoch den Rahmen des Artikels sprengt. Was benutzt du?
PS
Lesen Sie auch in unserem Blog: