Lazydocker - GUI für Docker direkt im Terminal



Vor zwei Jahren haben wir bereits eine Überprüfung der GUI-Schnittstellen für die Arbeit mit Docker durchgeführt, aber die Welt der Liebhaber solcher Lösungen steht nicht still. Neulich wurde Version 0.2 aktualisiert und gleichzeitig das junge Projekt Lazydocker weithin bekannt gemacht, das sich als "fauler Weg, alles in Docker zu verwalten" positioniert. Das Dienstprogramm gewinnt schnell an Popularität - erst gestern erreichte die Anzahl seiner GitHub-Sterne nicht 3000 und heute hat es 4000 überschritten.

Die Möglichkeiten


Die Autoren von Lazydocker erklären das Aussehen ihrer Idee folgendermaßen:

„Es ist schwierig, sich an docker Befehle zu erinnern. Das Speichern von Aliasen ist etwas weniger schwierig. Es ist fast unmöglich, den Zustand von Containern durch die zahlreichen Fenster des Terminals zu überwachen. Was aber, wenn sich alle erforderlichen Informationen in einem Fenster befinden und jeder typische Befehl durch Drücken einer Taste zugänglich ist (und es möglich war, eigene Befehle hinzuzufügen)? Lazydockers Ziel ist es, diesen Traum Wirklichkeit werden zu lassen. “

Lazydocker macht das Terminal zu einer interaktiven Schnittstelle für Docker und Docker Compose, mit der Sie schnell und bequem zwischen Diensten wechseln können, die in verschiedenen Containern und verwandten Ressourcen (Images, Volumes) ausgeführt werden, deren Status anzeigen und verschiedene Befehle ausführen können. Da "manchmal ist es besser, einmal zu sehen", haben sich die Autoren um eine sehr autarke GIF-Illustration gekümmert:



Die Schnittstellennavigation wird sowohl von der Tastatur als auch von der Maus unterstützt. Wenn Sie das gewünschte Element auswählen, steht ein Kontextmenü dafür zur Verfügung:


Beispielkontextmenü für den ausgewählten Container

Wie Sie sehen können, verfügt jeder Befehl auch über eine vordefinierte Taste, mit der beliebte Aktionen schnell ausgeführt werden können. Eine vollständige Liste davon finden Sie hier (das Menü enthält übrigens Lokalisierungen für mehrere Sprachen, unter denen es noch kein Russisch gibt).

Besondere Aufmerksamkeit verdient die Anzeige des Status von Containern: Hier nicht nur die Ausgabe von Protokollen und Konfigurationen, sondern auch grafisch angezeigte Statistiken (standardmäßig ist dies der CPU- / Speicherverbrauch) und Top-Prozesse. Diese Funktionen erstrecken sich auf beliebige Metriken, um grafisch anzuzeigen, welche Diagramme ebenfalls konfiguriert sind (siehe Abschnitt stats in der Konfiguration ).

Für die ausgewählten Bilder sehen Sie die Befehle aus der Dockerfile , die ausgeführt werden, wenn sie ausgeführt werden, die geerbten Ebenen. Die Reinigung nicht verwendeter Behälter, Bilder, Volumina ( prune ) wird bereitgestellt.

Verfügbare Befehle können geändert und durch eigene ergänzt werden. Wie das geht, ist in den Blöcken commandTemplates und customCommands der commandTemplates leicht zu sehen (die Konfiguration kann übrigens auch direkt vom Dienstprogramm selbst bearbeitet werden):

 commandTemplates: dockerCompose: docker-compose restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}' stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}' … customCommands: containers: - name: bash attach: true command: docker exec -it {{ .Container.ID }} /bin/sh serviceNames: [] … 

Installation


Lazydocker wird in Go mithilfe der Gocui- Bibliothek geschrieben, mit der Konsolenschnittstellen erstellt werden. Benötigt Go Version 1.12. Der Quellcode wird unter der kostenlosen BSD 3-Clause (New) -Lizenz verteilt.

Die Installation läuft auf einen einfachen Befehl hinaus:

 go get github.com/jesseduffield/lazydocker 

Der Rest ist einfacher zu versuchen und selbst zu sehen.

Perspektiven


Bisher hat nur eine Person Lazydocker entwickelt, aber "frisches Blut" angesichts der breiteren Gemeinschaft hat seine Popularität gebracht. Zum Beispiel diskutieren wir jetzt PRs, die vor weniger als einem Tag durch eine neu gestaltete Docker-Datei und eine vereinfachte Installation eines Binärdienstprogramms in Linux-Distributionen initiiert wurden.

In den Ausgaben des Projekts sehen Sie Verbesserungswünsche, z. B. benutzerdefinierte Tastenkombinationen und Unterstützung für den docker stack . Wieder erschienen sie vor weniger als einem Tag.

All dies deutet darauf hin, dass wir in naher Zukunft mit der Reifung von Lazydocker zu einer funktionaleren und bequemeren Lösung rechnen können, für die die Docker-Community eine klare Forderung gestellt hat.

PS


Lesen Sie auch in unserem Blog:

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


All Articles