Aller au contenu principal

LazyDocker simplifie l'administration de Docker

Si vous travaillez régulièrement avec Docker, vous savez probablement à quel point, dès qu'on utilise beaucoup de conteneurs, leurs administrations peuvent devenir complexe. C'est là que LazyDocker entre en jeu. Imaginez un outil qui simplifie considérablement la gestion de Docker tout en offrant une interface conviviale et intuitive. Bienvenue dans l'univers de LazyDocker, un compagnon indispensable pour les développeurs, les administrateurs système et tous ceux qui utilisent Docker au quotidien.

LazyDocker fournit une vue d'ensemble de l'état de vos conteneurs, de vos services et de vos images Docker, le tout depuis votre terminal. Voici quelques-unes de ses fonctionnalités clés :

  • Vous pouvez effectuer des actions courantes telles que démarrer, arrêter, supprimer et redémarrer des conteneurs directement depuis l'interface LazyDocker.
  • Vous pouvez afficher les logs en temps réel de vos conteneurs sans avoir à ouvrir plusieurs fenêtres de terminal.
  • Vous pouvez créer, déployer des services déployés avec Docker Compose en un clic.
  • Avec LazyDocker vous pouvez retrouver rapidement le conteneur ou le service dont vous avez besoin grâce à la fonction de filtrage.
  • ...

Installation de lazyDocker

Voici comment vous pouvez l'installer sur différents systèmes d'exploitation :

Installation de LazyDocker sous Linux

Si vous utilisez une distribution Linux, vous pouvez généralement installer LazyDocker à l'aide d'asdf.

Ouvrez votre terminal et exécutez les commandes suivantes :

asdf plugin add lazydocker https://github.com/comdotlinux/asdf-lazydocker.git
asdf install lazydocker latest
asdf global lazydocker latest

Installation de LazyDocker sous macOS

Sur macOS, vous pouvez utiliser le gestionnaire de packages Homebrew pour installer LazyDocker. Exécutez les commandes suivantes dans votre terminal :

brew update
brew install lazydocker

Installation de LazyDocker sous Windows :**

LazyDocker fonctionne sous Windows! Vous pouvez utiliser l'outil de gestion de paquets scoop, qui simplifie l'installation de nombreux outils en ligne de commande. Si vous n'avez pas encore scoop, vous pouvez l'installer en suivant les instructions sur leur site Web.

Après avoir installé scoop, ouvrez votre invite de commande ou PowerShell et exécutez les commandes suivantes pour installer LazyDocker :

scoop bucket add extras
scoop install lazydocker

Vérification de l'installation de LazyDocker

Une fois que vous avez terminé l'installation, vous pouvez simplement lancer la commande lazydocker --version dans votre terminal :

lazydocker --version
Version: 0.23.1
Date: 2023-10-13T07:40:28Z
BuildSource: binaryRelease
Commit: 1060e17731c80372335446eabe6a56ba4facd2b3
OS: linux
Arch: amd64

Configuration de LazyDocker

Lors du démarrage, LazyDocker essaie de détecter automatiquement le chemin à l'API Docker. Si cela ne fonctionne pas ou si vous souhaitez spécifier manuellement le chemin, appuyez sur [e] pour accéder à la configuration. Vous pourrez y spécifier le chemin de l'API Docker.

Si vous souhaitez personnaliser davantage LazyDocker, vous pouvez éditer le fichier de configuration config.yml qui se trouve généralement dans votre répertoire utilisateur :

  • OSX : ~/Library/Application Support/jesseduffield/lazydocker/config.yml.
  • Linux : ~/.config/lazydocker/config.yml.
  • Windows : C:\\Users\\<User>\\AppData\\Roaming\\jesseduffield\\lazydocker\\config.yml.

Ce fichier de configuration vous permet de spécifier des paramètres tels que les couleurs, les mappages de touches personnalisés et d'autres préférences. Pour info ce fichier de configuration peut être édité sous Visual Studio Code avec l'extension yaml de RedHat. Ce qui offrira une complétion et un contrôle de conformité.

Voici le contenu des paramètres par défaut :

gui:
  scrollHeight: 2
  language: 'auto' # one of 'auto' | 'en' | 'pl' | 'nl' | 'de' | 'tr'
  theme:
    activeBorderColor:
      - green
      - bold
    inactiveBorderColor:
      - white
    selectedLineBgColor:
      - blue
    optionsTextColor:
      - blue
  returnImmediately: false
  wrapMainPanel: true
  # Side panel width as a ratio of the screen's width
  sidePanelWidth: 0.333
  # Determines whether we show the bottom line (the one containing keybinding
  # info and the status of the app).
  showBottomLine: true
  # When true, increases vertical space used by focused side panel,
  # creating an accordion effect
  expandFocusedSidePanel: false
  # Determines which screen mode will be used on startup
  screenMode: "normal" # one of 'normal' | 'half' | 'fullscreen'
  # Determines the style of the container status and container health display in the
  # containers panel. "long": full words (default), "short": one or two characters,
  # "icon": unicode emoji.
  containerStatusHealthStyle: "long"
logs:
  timestamps: false
  since: '60m' # set to '' to show all logs
  tail: '' # set to 200 to show last 200 lines of logs
commandTemplates:
  dockerCompose: docker-compose
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  up:  '{{ .DockerCompose }} up -d'
  down: '{{ .DockerCompose }} down'
  downWithVolumes: '{{ .DockerCompose }} down --volumes'
  upService:  '{{ .DockerCompose }} up -d {{ .Service.Name }}'
  startService: '{{ .DockerCompose }} start {{ .Service.Name }}'
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
oS:
  openCommand: open {{filename}}
  openLinkCommand: open {{link}}
stats:
  graphs:
    - caption: CPU (%)
      statPath: DerivedStats.CPUPercentage
      color: blue
    - caption: Memory (%)
      statPath: DerivedStats.MemoryPercentage
      color: green

Ajout de commandes personnalisées

Il est possible d'ajouter des commandes personnalisées. Pour cela ajouter ce bloc à votre fichier de configuration :

customCommands:
  containers:
    - name: bash
      attach: true
      command: 'docker exec -it {{ .Container.ID }} bash'
      serviceNames: []

Vous pouvez utiliser les variables de template Go suivantes comme {{ .Container.ID }} dans vos commandes :

  • {{ .DockerCompose }}: la commande docker compose, par défaut : docker-compose
  • {{ .Container }} et ses champs, par exemple : {{ .Container.Container.ImageID }}
  • {{ .Service }} et ses champs, par exemple : {{ .Service.Name }}

Dans le fichier ci-dessus, vous avez plein d'exemples de variables à votre disposition.

Une fois la configuration initiale terminée, vous êtes prêt à utiliser LazyDocker pour gérer vos conteneurs Docker de manière intuitive. Vous pouvez naviguer dans l'interface, visualiser l'état de vos conteneurs, exécuter des commandes sur eux, surveiller les logs en temps réel et bien plus encore, le tout sans avoir à mémoriser des commandes Docker complexes.

Utilisation de LazyDocker

Avec votre souris, vous pouvez cliquer sur n'importe quel volet ou sur n'importe quelle liste dans un volet. Par exemple, cliquez sur un des conteneurs en cours, puis vous verrez apparaitre les logs de ce conteneur dans le volet de droite.

Si vous ne voulez pas utiliser la souris pour naviguer dans les panneaux utiliser la touche [TAB] ou les touches fléchées droite et gauche. Pour chaque panneau LazyDocker affiche la liste des raccourcis sélectionné. La touche [x] permet d'afficher le menu de chacun d'entre eux, pour les quitter, il faut utiliser la touche [ESC]. Dans chaque panneau, vous pouvez naviguer avec les touches fléchées haute et basse pour changer de ligne.

Dans le panneau de droite, vous pouvez également cliquer sur les onglets [Stats], [Config] ou [Top] pour afficher encore plus d'informations.

Pour quitter LazyDocker utilisez la touche [q].

Conclusion

Si vous êtes le roi des commandes Docker, LazyDocker ne vous apportera pas grand-chose. Je vous conseille de l'essayer et vous verrez s'il ne devient pas rapidement votre gestionnaire de conteneurs Docker par défaut.