Lazydocker - GUI pour Docker directement dans le terminal



Il y a deux ans, nous avons déjà fait une revue des interfaces GUI pour travailler avec Docker, mais le monde des amateurs de telles solutions ne reste pas immobile. L'autre jour, la version 0.2 a été mise à jour, et en même temps a été largement diffusée, le jeune projet lazydocker , se positionnant comme "un moyen plus paresseux de tout gérer dans Docker". L'utilitaire gagne rapidement en popularité - hier encore, le nombre de ses étoiles GitHub n'a pas atteint 3000, et aujourd'hui il a dépassé 4000.

Les possibilités


Les auteurs de lazydocker expliquent ainsi l'apparence de leur idée originale:

«Il est difficile de se souvenir des commandes de docker . La mémorisation d'alias est un peu moins difficile. Il est presque impossible de surveiller l'état des conteneurs à travers les nombreuses fenêtres du terminal. Mais que se passerait-il si toutes les informations requises se trouvaient dans une seule fenêtre et que chaque commande typique était accessible en appuyant sur une touche (et il était possible d'ajouter vos propres commandes)? L'objectif de Lazydocker est de faire de ce rêve une réalité. »

Ainsi, lazydocker fait du terminal une interface interactive pour Docker et Docker Compose, qui vous permet de basculer rapidement et facilement entre les services exécutés dans différents conteneurs et les ressources associées (images, volumes), d'afficher leur état et d'exécuter diverses commandes. Puisqu'il est parfois préférable de voir une fois, les auteurs ont réalisé une illustration gif très autosuffisante:



La navigation dans l'interface est prise en charge par le clavier et la souris. Lorsque vous sélectionnez l'élément souhaité, un menu contextuel lui est disponible:


Exemple de menu contextuel pour le conteneur sélectionné

Comme vous pouvez le voir, chaque commande possède également une clé prédéfinie pour effectuer rapidement des actions populaires. Une liste complète d'entre eux peut être consultée ici (au fait, le menu a des localisations pour plusieurs langues, parmi lesquelles il n'y a toujours pas de russe).

Une attention particulière mérite l'attention portée à l'affichage de l'état des conteneurs: ici non seulement la sortie des journaux et de la configuration, mais aussi les statistiques affichées graphiquement (par défaut, c'est la consommation CPU / mémoire) et les processus les plus performants. Ces capacités s'étendent à des mesures arbitraires, pour une visualisation graphique des graphiques qui sont également configurés (voir la section des stats dans la configuration ).

Pour les images sélectionnées, vous pouvez voir les commandes du Dockerfile qui sont exécutées lors de leur exécution, les couches héritées. Le nettoyage des contenants inutilisés, des images, des volumes ( prune ) est fourni.

Les commandes disponibles peuvent être modifiées et complétées par les vôtres. Comment le faire est facile à voir dans les blocs commandTemplates et customCommands de la commandTemplates (à propos, la configuration peut également être éditée directement à partir de l'utilitaire lui-même):

 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: [] … 

L'installation


Lazydocker est écrit en Go à l'aide de la bibliothèque gocui , conçue pour créer des interfaces de console. Nécessite Go version 1.12. Le code source est distribué sous la licence gratuite BSD 3-Clause (New).

L'installation se résume à une simple commande:

 go get github.com/jesseduffield/lazydocker 

Le reste est plus facile à essayer par vous-même.

Perspectives


Le développement du lazydocker a jusqu'à présent été principalement réalisé par une seule personne, mais le "sang frais" face à la communauté au sens large a apporté sa popularité. Par exemple, nous discutons maintenant des relations publiques lancées il y a moins d'un jour par un Dockerfile repensé et une installation simplifiée d'une version d'utilitaire binaire dans les distributions Linux.

Dans les problèmes du projet, vous pouvez voir des demandes d'améliorations, telles que des raccourcis clavier personnalisés et la prise en charge de la docker stack . Encore une fois, ils sont apparus il y a moins d'un jour.

Tout cela suggère que dans un avenir proche, nous pouvons nous attendre à ce que lazydocker devienne une solution plus fonctionnelle et pratique, pour laquelle la communauté Docker est apparue comme une demande claire.

PS


Lisez aussi dans notre blog:

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


All Articles