La manière « paresseuse » de gérer les conteneurs Docker comme un pro du DevOps
Utiliser de simples commandes CLI pour gérer et dépanner les conteneurs Docker devient vraiment ennuyeux et très rapide. Autrement dit, si vous souhaitez même mémoriser et saisir les commandes encore et encore pour des choses simples comme vérifier les journaux, l'état du conteneur (qu'il soit sain ou en panne) et surveiller les ressources utilisées par chaque conteneur. Il existe une meilleure façon de le faire sans quitter le terminal.
Sommaire
La manière paresseuse de gérer vos conteneurs
Vous devrez peut-être ouvrir plusieurs onglets de terminal si vous souhaitez un journal en cours d'exécution, ce qui encombre les choses si vous avez beaucoup de conteneurs en cours d'exécution. Même la pause, le redémarrage, la suppression et la suppression de conteneurs nécessitent de taper des commandes ennuyeuses (vous devez connaître l'ID du conteneur, par exemple, pour exécuter ces actions). Le point que j'essaie de faire valoir est le suivant : surveiller, gérer et dépanner plusieurs conteneurs Docker représente trop de travail si vous tapez simplement des commandes.
Techniquement, vous pouvez utiliser une application graphique complète comme le Docker Desktop officiel ou Portainer. Cependant, ces applications consomment des ressources en arrière-plan. Vous ne pouvez pas les utiliser si vous vous connectez à un serveur distant ou si vous utilisez un serveur sans tête.
La réponse est une application d'interface utilisateur de terminal (ou TUI) comme Lazydocker. Il s'exécute depuis le terminal et vous permet de gérer et de dépanner vos conteneurs Docker à la volée. Il prend en charge la souris, mais si vous le souhaitez, vous pouvez l'utiliser entièrement en utilisant le clavier.
Vous pouvez utiliser la CLI Docker pour lancer vos conteneurs comme vous le feriez normalement, puis accéder à Lazydocker pour les gérer.
Installation de Lazydocker
Les développeurs de Lazydocker fournissent un script Bash pour installer l'application, que vous pouvez télécharger et exécuter avec un curl commande. Assurez-vous d'inspecter tous vos scripts avant de les exécuter. Une fois que vous l'avez inspecté, vous pouvez le diriger directement vers Bash comme ceci.
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
Par défaut, le script installe le binaire Lazydocker dans votre répertoire personnel, mais il ne sera pas accessible globalement avec le lazydocker exécutable jusqu'à ce que vous le déplaciez vers le /usr/local/bin annuaire. Vous pouvez également ajouter ce chemin à votre fichier de configuration shell.
sudo mv ~/.local/bin/lazydocker /usr/local/bin/
Pour obtenir les mises à jour, vous devrez réexécuter le même script.
Vous avez besoin d'une installation Docker et Docker Compose fonctionnelle pour que Lazydocker fonctionne. Vous devrez peut-être également ajouter votre utilisateur au groupe Docker.
Sur les machines Windows et macOS, vous pouvez installer Lazydocker avec chocolatey ou scoop et homebrew.
brew install lazydocker
Si vous avez déjà chocolatey installé, essayez ceci.
choco install lazydocker
Apprendre les bases
Vous pouvez lancer Lazydocker avec cette commande :
lazydocker
Vous verrez quatre ou cinq panneaux sur la gauche : Projets, Conteneurs, Volumes, Images et Réseaux.
Utiliser des raccourcis clavier pour démarrer, arrêter et mettre en pause les conteneurs
Le panneau Conteneurs affiche une liste de tous les conteneurs et leur état (en cours d'exécution, sortie, pause, redémarrage) et s'ils sont sains ou non. Si vous appuyez Shift+?vous verrez une aide-mémoire contenant des raccourcis que vous pouvez utiliser pour gérer ces conteneurs.
Vous pouvez appuyer sur « w » pour ouvrir instantanément le conteneur dans le navigateur (pas besoin de rechercher des ports et de saisir des adresses dans le navigateur.) C'est de loin mon raccourci préféré. Pour arrêter un conteneur, appuyez sur « s ». Vous pouvez également faire une pause avec « p » et redémarrer avec « r ». Sinon, vous devrez passer au bon onglet de terminal, ou cd dans le bon répertoire, puis exécutez docker compose down faire la même chose.
Des moyens simples de surveiller les journaux et de déboguer les éléments
La sélection d'un conteneur dans la liste active également le panneau de droite. Vous verrez ici quatre onglets : journaux, statistiques, env, configuration et top. Vous pouvez cliquer sur les onglets avec votre souris pour passer de l'un à l'autre. Alternativement, vous pouvez appuyer sur la touche ) et ( touches pour basculer entre les onglets et les panneaux.
L'onglet Journaux est destiné au débogage et vous donne un aperçu en temps réel de ce qui se passe exactement à l'intérieur d'un conteneur. Il persiste même après la sortie ou le redémarrage d'un conteneur. Vous pouvez également appuyer sur « m » sur un conteneur sélectionné pour ouvrir les journaux dans une vue développée à l'intérieur du terminal. Ces journaux peuvent faciliter le dépannage des conteneurs qui se comportent mal.
J'exécutais ce conteneur Cryptpad, qui redémarrait sans cesse. Lorsque j'ai vérifié les journaux, j'ai constaté qu'il ne disposait pas des autorisations appropriées pour le dossier auquel il tente d'accéder. Je suis donc retourné dans le terminal, j'ai mis à jour les autorisations du répertoire et il est redevenu sain.
Vous pouvez vérifier les statistiques des ressources avec style
Nous avons ensuite l'onglet Statistiques qui fournit un aperçu en temps réel de la quantité de ressources consommée par le conteneur sélectionné. Vous verrez un graphique ASCII, affichant la RAM et l'utilisation de la mémoire. Cela vous donnera le nombre de processus actifs. En règle générale, vous aurez besoin de l'ID du conteneur et d'une commande telle que docker stats cryptpad-cryptpad-1 pour vérifier ces statistiques. La CLI Docker n'a même pas de graphiques de performances visuels.
Ensuite, nous avons l'onglet env, qui affiche une liste de toutes les variables d'environnement actives (transmises via un fichier de composition ou définies dans un fichier .env brut). Il existe également un onglet de configuration qui affiche une sortie JSON incluant des éléments tels que des métadonnées, des informations sur le volume et des paramètres réseau. C'est la version de Lazydocker de docker inspect container_name.
Lazydocker est un outil incontournable, même si vous disposez déjà d'un gestionnaire d'interface graphique pour Docker. Il est incroyablement léger et vous donne une analyse claire et logique de ce qui se passe avec vos conteneurs. De plus, il vous permet de les gérer avec de simples raccourcis clavier.
