
LazyDocker est une interface terminal (TUI) qui permet de gérer vos conteneurs,
images, volumes et réseaux Docker sans mémoriser les commandes CLI. Un simple
lazydocker affiche tout l'état de votre environnement Docker et permet d'agir
en quelques touches. Projet open source de Jesse Duffield (créateur de Lazygit),
il supporte Docker et Docker Compose.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer LazyDocker (v0.25.2) sur Linux, macOS ou Windows
- Naviguer dans l'interface avec les raccourcis clavier
- Gérer conteneurs, images, volumes et réseaux
- Personnaliser la configuration et ajouter vos propres commandes
Installation de LazyDocker
Section intitulée « Installation de LazyDocker »LazyDocker est un binaire Go statique sans dépendance : l'installation se
résume à placer un fichier dans votre PATH. Une seule exigence côté système,
un accès au socket Docker, puisque l'outil parle à l'API du démon local et
n'embarque aucun moteur. Choisissez l'onglet de votre plateforme ; les deux
méthodes proposées pour Linux et macOS diffèrent sur un point qui compte, le
gestionnaire de versions vous permet de revenir en arrière, le téléchargement
direct impose de refaire la manipulation à chaque bump.
Avec asdf-vm :
asdf plugin add lazydocker https://github.com/comdotlinux/asdf-lazydocker.gitasdf install lazydocker 0.25.2asdf set --home lazydocker 0.25.2Ou téléchargement direct, avec vérification de l'empreinte publiée par le
projet. Le fichier checksums.txt accompagne chaque release et couvre tous les
binaires :
VERSION="0.25.2"BASE="https://github.com/jesseduffield/lazydocker/releases/download/v${VERSION}"curl -sSLO "${BASE}/lazydocker_${VERSION}_Linux_x86_64.tar.gz"curl -sSLO "${BASE}/checksums.txt"sha256sum --check --ignore-missing checksums.txttar xzf "lazydocker_${VERSION}_Linux_x86_64.tar.gz" lazydockersudo install -m 0755 lazydocker /usr/local/bin/lazydockerlazydocker_0.25.2_Linux_x86_64.tar.gz: OKSi sha256sum affiche FAILED, l'archive est corrompue ou altérée : arrêtez
là et ne l'extrayez pas.
Avec Homebrew :
brew install lazydockerOu téléchargement direct (Apple Silicon), avec la même vérification d'empreinte.
shasum -a 256 remplace sha256sum, absent de macOS :
VERSION="0.25.2"BASE="https://github.com/jesseduffield/lazydocker/releases/download/v${VERSION}"curl -sSLO "${BASE}/lazydocker_${VERSION}_Darwin_arm64.tar.gz"curl -sSLO "${BASE}/checksums.txt"grep "Darwin_arm64" checksums.txt | shasum -a 256 --checktar xzf "lazydocker_${VERSION}_Darwin_arm64.tar.gz" lazydockersudo install -m 0755 lazydocker /usr/local/bin/lazydockerAvec Scoop :
scoop bucket add extrasscoop install lazydockerAvec Chocolatey :
choco install lazydockerVérifiez l'installation :
lazydocker --versionVersion: 0.25.2Date: 2026-04-19T02:51:21ZBuildSource: binaryReleaseCommit: 7e7aadc2071d58031bf2daafca1fbd4093efc23fOS: linuxArch: amd64La ligne BuildSource mérite un coup d'œil : binaryRelease confirme que vous
utilisez un binaire officiel. Une valeur unknown signale un binaire compilé
localement ou repackagé par une distribution, dont le comportement peut différer.
Premier lancement
Section intitulée « Premier lancement »Lancez simplement :
lazydockerL'interface affiche plusieurs panneaux :
| Panneau | Contenu | Raccourci |
|---|---|---|
| Project | Services Docker Compose | 1 |
| Containers | Conteneurs en cours | 2 |
| Images | Images locales | 3 |
| Volumes | Volumes Docker | 4 |
| Networks | Réseaux Docker | 5 |
Raccourcis essentiels
Section intitulée « Raccourcis essentiels »Sept touches suffisent pour tout faire, et deux méritent d'être mémorisées en
priorité. La touche x ouvre le menu d'actions du panneau où vous êtes :
c'est le point d'entrée universel quand vous ne savez plus quelle touche
utiliser. Les crochets [ et ] changent d'onglet dans le panneau de
droite, ce qui n'est indiqué nulle part à l'écran et reste le raccourci le plus
oublié.
| Touche | Action |
|---|---|
Tab / ← → | Changer de panneau |
↑ ↓ / j k | Naviguer dans la liste |
Enter | Voir les détails |
x | Menu d'actions |
[ ] | Changer d'onglet (Logs, Stats, Config) |
/ | Filtrer |
q | Quitter |
Interface et navigation
Section intitulée « Interface et navigation »
Dans le panneau de droite, plusieurs onglets affichent des informations différentes :
| Onglet | Description |
|---|---|
| Logs | Logs en temps réel du conteneur sélectionné |
| Stats | CPU, mémoire, I/O réseau et disque |
| Config | Configuration complète au format YAML |
| Top | Processus en cours dans le conteneur |
Actions sur les conteneurs
Section intitulée « Actions sur les conteneurs »Sélectionnez un conteneur et appuyez sur x pour voir le menu :
| Action | Touche | Commande équivalente |
|---|---|---|
| Arrêter | s | docker stop |
| Redémarrer | r | docker restart |
| Supprimer | d | docker rm |
| Attacher | a | docker attach |
| Shell | E | docker exec -it ... /bin/sh |
| Logs | l | docker logs -f |
Actions sur les images
Section intitulée « Actions sur les images »Le panneau Images propose moins d'actions, mais la première sert au quotidien
pour récupérer de l'espace disque. La colonne « Commande équivalente » vous
permet de reproduire le geste dans un script. Notez la casse : P en
majuscule pour pousser une image, alors que la plupart des autres raccourcis
sont en minuscules ; c'est un garde-fou délibéré sur une action qui écrit dans
un registre distant.
| Action | Touche | Commande équivalente |
|---|---|---|
| Supprimer | d | docker rmi |
| Créer conteneur | c | docker run |
| Pusher | P | docker push |
Gérer les réseaux Docker
Section intitulée « Gérer les réseaux Docker »Depuis la version 0.21, LazyDocker affiche un panneau Networks dédié.
Appuyez sur 5 pour accéder aux réseaux, puis :
| Action | Touche | Description |
|---|---|---|
| Inspecter | Enter | Voir la configuration réseau |
| Supprimer | d | Supprimer le réseau |
Le panneau affiche les réseaux bridge, host, none et personnalisés.
Personnaliser la configuration
Section intitulée « Personnaliser la configuration »LazyDocker stocke sa configuration dans :
| OS | Chemin |
|---|---|
| Linux | ~/.config/lazydocker/config.yml |
| macOS | ~/Library/Application Support/jesseduffield/lazydocker/config.yml |
| Windows | C:\Users\<User>\AppData\Roaming\lazydocker\config.yml |
Options utiles
Section intitulée « Options utiles »Vous n'avez pas besoin de recopier tout ce bloc : le fichier de configuration
est partiel, seules les clés que vous écrivez surchargent les valeurs par
défaut. Pour partir de l'existant plutôt que de deviner les noms de clés, la
commande lazydocker -c affiche la configuration par défaut complète, valeurs
comprises. Les trois options qui changent le plus le confort d'usage sont
logs.since, qui borne la quantité de logs chargés au démarrage, logs.tail,
qui limite le nombre de lignes affichées, et language, dont les codes acceptés
sont auto, en, fr, de, es, pt, pl, nl, tr et zh.
gui: # Langue : auto, en, fr, de, es, pt, pl, nl, tr, zh language: 'fr' # Mode d'affichage au démarrage : normal, half, fullscreen screenMode: "normal" # Style de statut : long, short, icon containerStatusHealthStyle: "short" # Style des bordures : single, double, rounded, hidden border: "rounded" theme: activeBorderColor: - green - bold selectedLineBgColor: - blue
logs: # Afficher les timestamps timestamps: true # Logs depuis X minutes ('' = tous) since: '60m' # Nombre de lignes à afficher tail: '200'
commandTemplates: # Utiliser docker compose (sans tiret) depuis v0.24 dockerCompose: docker composeCommandes personnalisées
Section intitulée « Commandes personnalisées »Ajoutez vos propres commandes dans config.yml :
customCommands: containers: - name: bash attach: true command: 'docker exec -it {{ .Container.ID }} bash' serviceNames: [] - name: "Voir les variables d'environnement" attach: false command: 'docker exec {{ .Container.ID }} env' serviceNames: [] images: - name: "Historique des layers" command: 'docker history {{ .Image.ID }}' attach: falseVariables disponibles
Section intitulée « Variables disponibles »Ces variables sont des templates Go interpolés au moment où vous déclenchez
la commande, avec l'élément actuellement sélectionné dans le panneau. Elles ne
sont donc pas interchangeables : {{ .Container.ID }} n'a de sens que dans un
bloc containers, et {{ .Service.Name }} que sous services. Une variable
utilisée dans le mauvais bloc produit une chaîne vide, et la commande échoue
avec un message qui ne pointe pas vers la vraie cause.
| Variable | Description |
|---|---|
{{ .Container.ID }} | ID du conteneur sélectionné |
{{ .Container.Name }} | Nom du conteneur |
{{ .Image.ID }} | ID de l'image |
{{ .Service.Name }} | Nom du service Compose |
{{ .DockerCompose }} | Commande docker compose |
Utiliser avec Docker Compose
Section intitulée « Utiliser avec Docker Compose »Si vous êtes dans un dossier avec un docker-compose.yml, LazyDocker détecte automatiquement les services :
cd mon-projet/lazydockerLe panneau Project affiche alors tous les services définis.
Vous pouvez aussi spécifier un fichier Compose, ou nommer explicitement le projet
avec -p lorsque le nom déduit du dossier ne correspond pas à celui utilisé par
vos conteneurs :
lazydocker -f docker-compose.prod.ymllazydocker -p mon-projetDépannage
Section intitulée « Dépannage »La grande majorité des problèmes rencontrés avec LazyDocker viennent du démon
Docker, pas de l'outil : il ne fait que lire l'API locale et affiche ce
qu'elle lui renvoie. Le réflexe de diagnostic est donc de vérifier d'abord que
docker ps fonctionne dans le même terminal, avec le même utilisateur. Si cette
commande échoue, aucun réglage de LazyDocker n'y changera quoi que ce soit.
| Problème | Cause | Solution |
|---|---|---|
| LazyDocker ne détecte pas Compose | Ancien format | Renommez docker-compose.yaml en docker-compose.yml |
| Pas de logs affichés | Conteneur sans stdout | Vérifiez que l'app écrit sur stdout |
| Erreur "Cannot connect to Docker" | Socket inaccessible | Vérifiez DOCKER_HOST ou ajoutez votre user au groupe docker |
| Stats à 0% | Conteneur arrêté | Démarrez le conteneur |
À retenir
Section intitulée « À retenir »- LazyDocker est une TUI pour gérer Docker sans mémoriser les commandes
- Navigation par numéros (
1-5) pour sauter entre panneaux - Onglets Logs, Stats, Config, Top pour chaque conteneur
- Panneau Networks pour gérer les réseaux Docker (v0.21+)
- Commandes personnalisées via
customCommandsdansconfig.yml - Supporte
docker compose(sans tiret) par défaut depuis v0.24 - Vérifiez toujours l'archive téléchargée avec le
checksums.txtde la release avant d'installer le binaire
Prochaines étapes
Section intitulée « Prochaines étapes »Plus d'infos
Section intitulée « Plus d'infos »Questions fréquentes
Section intitulée « Questions fréquentes »LazyDocker vs Portainer
| Aspect | LazyDocker | Portainer |
|---|---|---|
| Interface | Terminal (TUI) | Web |
| Installation | Binaire unique | Conteneur |
| Multi-hôtes | Non | Oui |
| RBAC | Non | Oui (CE limité) |
| Registries | Non | Oui |
| Cas d'usage | Dev local | Production |
Installation sur Linux
Avec asdf-vm (recommandé) :asdf plugin add lazydocker https://github.com/comdotlinux/asdf-lazydocker.git
asdf install lazydocker 0.25.2
asdf set --home lazydocker 0.25.2
Binaire direct, avec vérification de l'empreinte publiée par le projet :VERSION="0.25.2"
BASE="https://github.com/jesseduffield/lazydocker/releases/download/v${VERSION}"
curl -sSLO "${BASE}/lazydocker_${VERSION}_Linux_x86_64.tar.gz"
curl -sSLO "${BASE}/checksums.txt"
sha256sum --check --ignore-missing checksums.txt
tar xzf "lazydocker_${VERSION}_Linux_x86_64.tar.gz" lazydocker
sudo install -m 0755 lazydocker /usr/local/bin/lazydocker
Raccourcis essentiels
| Touche | Action |
|---|---|
Tab / ← → |
Changer de panneau |
1 à 5 |
Accès direct aux panneaux |
↑ ↓ / j k |
Naviguer dans la liste |
Enter |
Voir les détails |
x |
Menu d'actions |
[ ] |
Changer d'onglet (Logs, Stats) |
/ |
Filtrer |
q |
Quitter |
Visualiser les logs
- Appuyez sur
2pour aller au panneau Containers - Naviguez avec
↑↓jusqu'au conteneur voulu - Les logs apparaissent automatiquement à droite
- Utilisez
[et]pour basculer entre Logs/Stats/Config
config.yml :logs:
timestamps: true
since: '60m'
tail: '200'
Commandes personnalisées
Éditez~/.config/lazydocker/config.yml :customCommands:
containers:
- name: bash
attach: true
command: 'docker exec -it {{ .Container.ID }} bash'
- name: "Variables d'env"
command: 'docker exec {{ .Container.ID }} env'
attach: false
Variables disponibles : {{ .Container.ID }}, {{ .Container.Name }}, {{ .Image.ID }}, {{ .Service.Name }}Support Docker Compose
LazyDocker détecte automatiquementdocker-compose.yml :cd mon-projet/
lazydocker
Le panneau Project (touche 1) affiche les services Compose.Fichier spécifique :lazydocker -f docker-compose.prod.yml
Note : Depuis v0.24, docker compose (sans tiret) est utilisé par défaut.Emplacement de config.yml
| OS | Chemin |
|---|---|
| Linux | ~/.config/lazydocker/config.yml |
| macOS | ~/Library/Application Support/jesseduffield/lazydocker/config.yml |
| Windows | C:\Users\<User>\AppData\Roaming\lazydocker\config.yml |
lazydocker -c affiche la configuration par défaut complète, utile pour connaître les noms exacts des clés.Gestion des réseaux
Depuis la version 0.21, LazyDocker inclut un panneau Networks :- Appuyez sur
5pour y accéder - Naviguez avec
↑↓ Enterpour inspecter la configurationdpour supprimer un réseau
Dépannage logs/stats
| Problème | Cause | Solution |
|---|---|---|
| Stats à 0% | Conteneur arrêté | Démarrez le conteneur |
| Pas de logs | App n'écrit pas sur stdout | Vérifiez la configuration de l'app |
| Rien ne s'affiche | LazyDocker dans un conteneur | Bug connu, utilisez l'installation native |
| Erreur connexion | Socket inaccessible | sudo usermod -aG docker $USER |
Nouveautés v0.24
- Navigation par numéros : touches
1à5pour accéder directement aux panneaux - docker compose : utilise
docker compose(sans tiret) par défaut - Correction logs : les logs s'affichent correctement au démarrage
- Contexte Docker : support des connexions SSH distantes
Nouveautés v0.25
- Projets Compose : les panneaux Project et Services sont masqués hors d'un projet Compose
- Option
-p: permet de préciser le nom du projet Docker Compose
asdf install lazydocker 0.25.2
asdf set --home lazydocker 0.25.2