
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: