Docker-Pretty-Ps - endlich ein lesbarer Docker-PS

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:

Source: https://habr.com/ru/post/de436896/


All Articles