Docker : live-restore, c’est quoi ?

Docker : live-restore, c’est quoi ?

Table of Contents

live-restore est une fonctionnalité de Docker qui permet aux conteneurs de continuer à fonctionner normalement pendant que le daemon Docker redémarre. En activant cette option, vous évitez l'arrêt intempestif de vos applications lors des mises à jour ou des modifications de configuration du daemon Docker.

Le problème : Sans live-restore

Par défaut, quand vous exécutez systemctl restart docker :

  1. Tous les conteneurs en cours d'exécution s'arrêtent immédiatement
  2. Les applications deviennent inaccessibles
  3. Les connexions réseau sont brutalement coupées
  4. Les données en mémoire non sauvegardées peuvent être perdues

C'est comme couper l'électricité d'un bâtiment entier pour changer une ampoule !

La solution : Comment fonctionne live-restore ?

Quand vous activez live-restore, Docker modifie son comportement :

  1. Découplage : Les conteneurs sont détachés du cycle de vie du daemon
  2. Maintien en vie : Les processus continuent de s'exécuter sous la supervision du noyau Linux
  3. Reprise : Le daemon Docker reprend le contrôle des conteneurs après son redémarrage

ℹ️ Important : Cela ne protège que contre les redémarrages du daemon Docker, pas contre les arrêts du système d'exploitation ou les pannes matérielles.

Quand utiliser live-restore ?

Cette fonctionnalité est particulièrement utile pour :

  • Mises à jour de sécurité : Appliquer des correctifs sans interruption de service
  • Maintenance planifiée : Modifier la configuration Docker sans impacter les applications
  • Environnements critiques : Où la disponibilité est essentielle
  • Déploiements complexes : Avec de nombreuses dépendances entre conteneurs

Comment l'activer ?

  1. Éditez le fichier de configuration Docker :

    sudo vi /etc/docker/daemon.json
  2. Ajoutez ou modifiez la configuration :

    {
     "live-restore": true
    }
  3. Redémarrez Docker :

    sudo systemctl restart docker
  4. Vérifiez l'activation :

    docker info | grep -i live

    Vous devriez voir : Live Restore Enabled: true

Les limites à connaître

  1. Pas de protection contre :

    • Les redémarrages du système d'exploitation
    • Les pannes matérielles
    • Les arrêts intempestifs du système
  2. Fonctionnalités limitées pendant le redémarrage :

    • La CLI Docker est indisponible
    • Pas de création/suppression de conteneurs
    • Gestion réseau et stockage limitée
  3. Compatibilité :

    • Certains drivers de stockage peuvent poser problème
    • Les fonctionnalités expérimentales ne sont pas toujours supportées

Bonnes pratiques

  1. Testez d'abord en préproduction
  2. Surveillez les métriques système pendant les redémarrages
  3. Documentez la procédure pour votre équipe
  4. Ayez un plan de secours en cas de problème

En résumé

live-restore est un outil précieux pour maintenir la disponibilité de vos conteneurs lors des opérations de maintenance du daemon Docker. Bien qu'il ne soit pas une solution miracle, il peut vous aider à réduire considérablement les temps d'arrêt non planifiés.

💡 Astuce : Pour une haute disponibilité complète, combinez live-restore avec d'autres stratégies comme l'orchestration de conteneurs (Swarm, Kubernetes) et la répartition de charge.

Les commentaires sont fermés.