Skip to main content

🐳 Docker Cheat Sheet

Cette page regroupe les commandes Docker les plus utilisées sur la plateforme Homelab.

Elle s'applique principalement aux services déployés dans des conteneurs Docker sur des LXC ou des VM (Bitwarden, Harbor, Docker Registry, Code-Server, etc.).


🎯 Objectif

Cette documentation permet de :

  • Contrôler les conteneurs Docker
  • Administrer les stacks Docker Compose
  • Consulter les logs
  • Construire des images
  • Pousser des images vers le registre privé
  • Effectuer les opérations de maintenance courantes

📋 Vérifier l'état des conteneurs

Afficher les conteneurs en cours d'exécution

docker ps

Afficher tous les conteneurs

docker ps -a

Afficher les ressources utilisées

docker stats --no-stream

📄 Consulter les logs

Afficher les 50 dernières lignes

docker logs --tail 50 <container>

Suivre les logs en temps réel

docker logs -f --tail 50 <container>

⚙️ Administrer un conteneur

Entrer dans un conteneur (Bash)

docker exec -it <container> /bin/bash

Si Bash n'est pas disponible (Alpine)

docker exec -it <container> /bin/sh

Redémarrer un conteneur

docker restart <container>

Arrêter un conteneur

docker stop <container>

Démarrer un conteneur

docker start <container>

🐙 Docker Compose

La majorité des services de la plateforme sont déployés via Docker Compose.

Démarrer la stack

docker compose up -d

Arrêter la stack

docker compose down

Redémarrer la stack

docker compose restart

Mettre à jour les images

docker compose pull
docker compose up -d

Docker Compose ne recrée que les services dont l'image a changé.

Consulter les logs

docker compose logs -f --tail 50

🧹 Maintenance Docker

Afficher l'espace disque utilisé

docker system df

Nettoyer les ressources inutilisées

docker system prune

Nettoyage complet

docker system prune -a --volumes

⚠ Attention : cette commande supprime toutes les images inutilisées, les volumes orphelins et les conteneurs arrêtés.


🏗 Construire une image

Depuis le dossier contenant le Dockerfile.

docker build -t registry.numericare.fr/library/code-server:custom-v1 .

📦 Registre privé

Connexion

docker login registry.numericare.fr

Pousser une image

docker push registry.numericare.fr/library/code-server:custom-v1

🌐 Réseau

Afficher les réseaux Docker

docker network ls

Inspecter le réseau bridge

docker network inspect bridge

💾 Volumes

Afficher les volumes

docker volume ls

Inspecter un volume

docker volume inspect <volume>

🔍 Dépannage

Problème Commande
Le conteneur ne démarre pas docker logs <container>
Vérifier les ressources docker stats
Problème réseau docker network inspect bridge
Problème de volume docker volume inspect <volume>
Espace disque saturé docker system df

💡 Bonnes pratiques

  • Utiliser Docker Compose plutôt que des commandes docker run.
  • Éviter les conteneurs créés manuellement.
  • Toujours versionner les fichiers docker-compose.yml.
  • Privilégier le registre privé registry.numericare.fr.
  • Ne jamais modifier un conteneur en production avec docker exec sauf pour du diagnostic.
  • Reconstruire l'image plutôt que modifier un conteneur existant.
  • Nettoyer régulièrement les images inutilisées afin d'éviter la saturation des petits LXC.

📚 Voir également

  • Installation de Docker sur un LXC Proxmox
  • Docker Registry
  • Harbor
  • Code-Server
  • Docker Compose Standards

```