Tableau de bord des conteneurs affichant l'état de redémarrage et de santé de Docker

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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

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”.