
Un conteneur qui s’est écrasé est facile à repérer. Un conteneur qui continue de s’exécuter alors que l’application à l’intérieur s’est figée est celui qui coûte une soirée du vendredi. La politique de redémarrage intégrée de Docker plus une vérification de santé est la première ligne de défense, et les outils qui l’entourent (moniteurs auto-heal, mises à jour d’images, tableaux de bord) sont la raison pour laquelle un homelab reste opérationnel entre les visites. Les meilleures applications pour les politiques de redémarrage des conteneurs Docker sont celles qui rendent cette combinaison ennuyeuse, ce qui est exactement l’objectif.
Nous avons sélectionné huit outils qui, ensemble, couvrent la configuration : comment déclarer la politique, comment repérer un conteneur figé, comment tout voir depuis un navigateur et comment garder les images à jour sans surprise au milieu de la nuit.
Ce qu’il faut chercher dans un outil de redémarrage de conteneur
Qu’il soit intégré à Docker ou ajouté séparément, un outil utile possède :
- Une déclaration claire de ce que le redémarrage signifie : en cas d’échec, à la sortie non-zéro, toujours, unless-stopped. Confondre cette politique a causé plus de pannes que les conteneurs qu’elle protège.
- Des vérifications de santé sur lesquelles l’outil peut agir, pas seulement rapporter. La génération de rapports est une surveillance. Le redémarrage est une correction.
- Une vue unique de tableau de bord ou CLI qui répond à “quels conteneurs se comportent bien aujourd’hui”.
- Une gestion des mises à jour qui est facultative par conteneur et vous permet de fixer ceux qui ne doivent pas bouger.
- Zéro surprise au redémarrage de l’hôte. Les fichiers Compose et les politiques de redémarrage doivent être composés au même état après un cycle d’alimentation qu’avant.
Les huit outils ci-dessous s’empilent proprement. Choisissez ceux que votre pile n’a pas encore.
Comparaison rapide
| Application | Meilleur pour | Forme de déploiement | Coût |
|---|---|---|---|
| Docker Compose | Déclarer la politique | CLI + YAML | Gratuit |
| Willfarrell Autoheal | Redémarrer les conteneurs en mauvais état | Conteneur sidecar | Gratuit, open-source |
| Watchtower | Mise à jour automatique des images | Conteneur sidecar | Gratuit, open-source |
| Portainer | Tableau de bord web avec commandes de redémarrage | Conteneur Web UI | Gratuit CE, Business payant |
| Dockge | Interface web axée sur Compose | Conteneur Web UI | Gratuit, open-source |
| Diun | Notifications de mises à jour, pas de récupération automatique | Conteneur sidecar | Gratuit, open-source |
| Uptime Kuma | Alerte quand un conteneur disparaît | Conteneur Web UI | Gratuit, open-source |
| Ouroboros | Alt mise à jour automatique | Conteneur sidecar | Gratuit, open-source |
1. Docker Compose, meilleur pour déclarer la politique
Docker Compose est l’endroit où la politique vit réellement. restart: unless-stopped dans un fichier docker-compose.yml, plus un bloc healthcheck, donne à Docker les deux éléments dont il a besoin pour maintenir un service actif. Compose dans le Docker CLI actuel est rapide et stable, et un référentiel plein de fichiers Compose est la seule source de vérité que tous les autres outils de cette liste lisent.
Où ça ne suffit pas : Compose n’agit pas sur l’état insalubre. Un conteneur marqué comme insalubre continuera de s’exécuter à moins qu’un garde-fou séparé ne le redémarre. C’est le vide qu’Autoheal remplit.
Tarification :
- Gratuit avec Docker Desktop et Docker Engine.
Plateformes : Windows, Linux, macOS.
Télécharger : docs.docker.com/compose
Conclusion : La couche de base. Chaque histoire de politique de redémarrage dans le reste de cette liste suppose un fichier Compose dessous.
2. Willfarrell Autoheal, meilleur pour redémarrer les conteneurs en mauvais état
Autoheal est un sidecar mono-conteneur qui interroge l’API de santé de Docker et redémarre tout conteneur qui a été marqué comme insalubre pendant plus qu’un seuil. Adhésion facultative par conteneur avec un simple libellé. La configuration est un seul service Compose.
Où ça ne suffit pas : il réagit uniquement au signal healthcheck de Docker lui-même. Si le conteneur n’a jamais été marqué comme insalubre parce que la healthcheck de l’application est incorrecte, Autoheal ne peut pas aider.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker (Linux, Windows, macOS).
Télécharger : github.com/willfarrell/docker-autoheal
Conclusion : La pièce manquante. Chaque homelab et petite pile de production devrait exécuter ceci à côté de Compose.
3. Watchtower, meilleur pour la mise à jour automatique des images
Watchtower regarde l’étiquette que vous avez déployée et, lorsque l’image en amont a changé, récupère la nouvelle image et redémarre le conteneur. Configurable par étiquette, de sorte qu’une base de données peut rester épinglée tandis qu’un site statique se met à jour automatiquement. Les notifications arrivent dans Slack, Discord ou webhook.
Où ça ne suffit pas : les mises à jour automatiques sont une arme à double tranchant. Épinglez les conteneurs qui comptent (bases de données, tout ce qui a des migrations de schéma) ; laissez les feuilles se mettre à jour automatiquement.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker.
Télécharger : containrrr.dev/watchtower
Conclusion : Le mise à jour automatique par défaut ; utilisez-le avec des libellés, pas le mode “mettre à jour tout”.
4. Portainer, meilleur pour un tableau de bord web avec commandes de redémarrage
Portainer est l’interface web Docker sur laquelle se retrouvent la plupart des auto-hébergeurs. Il énumère chaque conteneur, affiche l’état de santé et de redémarrage, expose un bouton Redémarrer pour chacun et supporte la gestion des piles Compose. La Community Edition est gratuite et couvre un homelab ; Business déverrouille l’accès basé sur les rôles et le multi-cluster.
Où ça ne suffit pas : c’est beaucoup d’interface pour une pile à hôte unique. Si votre configuration est une seule machine, Dockge est plus léger.
Tarification :
- Gratuit (Community Edition).
- Business est un abonnement payant pour les déploiements plus importants.
Plateformes : N’importe quel hôte Docker.
Télécharger : portainer.io
Conclusion : Meilleur choix pour tous ceux qui exécutent plusieurs hôtes ou qui veulent un vrai tableau de bord pour les invités.
5. Dockge, meilleur pour la navigation axée sur Compose
Dockge traite les fichiers Compose comme de première classe. Il édite le YAML en place, redémarre la pile lorsque vous enregistrez et affiche l’état du conteneur en ligne. Si Portainer semble lourd pour une configuration à hôte unique, Dockge est ce par quoi le remplacer.
Où ça ne suffit pas : orientation nœud unique ; pas de gestion multi-hôte. Projet plus récent, mais stable dans la version actuelle.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker.
Télécharger : github.com/louislam/dockge
Conclusion : Le tableau de bord plus léger pour une configuration à une seule machine avec un référentiel Compose en croissance.
6. Diun, meilleur pour les notifications de mises à jour sans récupération automatique
Diun (Docker Image Update Notifier) regarde les étiquettes d’image et signale quand une nouvelle arrive, sans récupérer ni redémarrer. Pour les conteneurs que vous souhaitez mettre à jour manuellement (bases de données, tout ce qui nécessite une étape manuelle), Diun vous dit quand planifier la mise à jour.
Où ça ne suffit pas : notification uniquement par conception. Si l’objectif est “mise à jour de tout du jour au lendemain”, utilisez Watchtower.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker.
Télécharger : github.com/crazy-max/diun
Conclusion : Le complément à Watchtower. Mise à jour automatique des choses sûres, avertir le reste.
7. Uptime Kuma, meilleur pour les alertes quand un conteneur disparaît
Uptime Kuma est une page de statut et d’alerteur auto-hébergée. Pointez sur chaque port exposé du conteneur ou sur un socket Docker, et il envoie un ping selon un calendrier. Quand un conteneur s’arrête, Kuma alerte via Discord, Telegram, e-mail ou webhook, et la page de statut affiche la fenêtre de panne.
Où ça ne suffit pas : il surveille, il ne redémarre pas. Associez avec Autoheal pour une boucle fermée.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker.
Télécharger : uptime.kuma.pet
Conclusion : La couche d’alerte au-dessus d’Autoheal. Ensemble, ils couvrent l’histoire “était arrêté, est maintenant levé”.
8. Ouroboros, meilleur comme mise à jour automatique alternative
Ouroboros est l’alternative plus ancienne à Watchtower. Il fait le même travail (sondage en amont, récupération, redémarrage) avec une surface de configuration légèrement différente. Les deux projets sont bien entretenus ; choisissez celui dont la documentation se lit le plus proprement.
Où ça ne suffit pas : la communauté est plus petite que celle de Watchtower, donc la résolution des problèmes génère moins de fils de forum.
Tarification :
- Gratuit, open-source.
Plateformes : N’importe quel hôte Docker.
Télécharger : github.com/pyouroboros/ouroboros
Conclusion : Un bon mise à jour automatique de seconde choix. La plupart des piles se posent d’abord sur Watchtower.
Comment choisir le bon
- Commencez avec Docker Compose et
restart: unless-stoppedsur chaque service. - Ajoutez Autoheal pour le redémarrage piloté par healthcheck.
- Ajoutez Watchtower pour la mise à jour automatique des conteneurs feuilles, et Diun pour les notifications sur ceux que vous refusez de mettre à jour automatiquement.
- Ajoutez Uptime Kuma pour les alertes, afin qu’une panne véritable reçoive votre attention.
- Choisissez Portainer pour un tableau de bord multi-hôtes, ou Dockge pour un éditeur Compose à hôte unique.
- Ouroboros est une alternative à Watchtower ; utilisez-le si le style de configuration vous convient.
FAQ
Quelle est la différence entre les politiques de redémarrage de Docker ?
no ne redémarre jamais, on-failure redémarre à la sortie non-zéro, always redémarre à tout arrêt y compris manuel, et unless-stopped redémarre en cas d’échec et de redémarrage mais pas à l’arrêt manuel. unless-stopped est la valeur par défaut pour la plupart des piles auto-hébergées.
Docker redémarre-t-il un conteneur qui s’est figé mais ne s’est pas écrasé ?
Non. Docker réagit uniquement à la sortie du conteneur. Pour redémarrer un conteneur figé, ajoutez une healthcheck et associez-la avec Autoheal ou un garde-fou similaire.
Watchtower est-il sûr pour la production ?
Pour les services feuilles avec données immuables, oui. Pour les bases de données et tout ce qui a des migrations de schéma, épinglez l’image et mettez à jour manuellement. Watchtower prend en charge l’adhésion facultative basée sur les étiquettes.
Portainer ou Dockge pour un serveur domestique ?
Portainer pour plusieurs hôtes ou lorsque vous avez besoin d’un accès basé sur les rôles. Dockge pour un seul hôte où le fichier Compose est la source de vérité.
Ai-je besoin d’un alerteur séparé si j’ai Portainer ?
Portainer affiche l’état du conteneur mais ne vous alerte pas. Uptime Kuma ou un autre outil de notification envoie le message quand un conteneur s’arrête.
Quelle est la pile utile la plus petite ?
Compose avec restart: unless-stopped et une healthcheck, plus Autoheal. Cette combinaison couvre 80 pour cent du scénario “conteneur figé toute la nuit”.