Le redémarrage de la mauvaise docker conteneur basé sur le bilan de santé
Je suis en utilisant Docker version 17.09.0-ce
je vois que les conteneurs sont marqués comme malsain encas de vérifier l'état de santé des échecs.
Est-il une option pour obtenir le conteneur de redémarrer au lieu de garder le contenant comme malsain.
Je crois qu'il se passe lorsque vous lancez dans le panneau de l'essaim de mode et exécuter en tant que service et pas normal d'un conteneur docker
Je ne suis pas à l'aide de l'essaim ou de tout outils d'orchestration pour certaines raisons spécifiques.
Ensuite, vous pouvez utiliser un autre script à l'aide de
Je ne suis pas à l'aide de l'essaim ou de tout outils d'orchestration pour certaines raisons spécifiques.
Ensuite, vous pouvez utiliser un autre script à l'aide de
docker events -f event=health_status
(docs.docker.com/engine/reference/commandline/events/...) et ensuite prendre des mesures fondées sur la santé du conteneurOriginalL'auteur Govind Kailas | 2017-11-03
Vous devez vous connecter pour publier un commentaire.
Le redémarrage de malsain conteneur fonctionnalité a été à l'origine, PR (https://github.com/moby/moby/pull/22719), mais il a été retiré après une discussion, et considéré comme être effectué plus tard que l'amélioration de la RestartPolicy.
En ce moment, vous pouvez utiliser cette solution de contournement pour redémarrer automatiquement malsain conteneurs: https://hub.docker.com/r/willfarrell/autoheal/
Voici un exemple de fichier composer:
Il suffit d'exécuter
docker-compose up -d
sur cele volume est ainsi que le panneau de socket est disponible pour l'exécution de conteneur en interne
OriginalL'auteur Navrocky
Autonome, pour les conteneurs, le Panneau n'a pas l'intégration native de redémarrer le conteneur sur le bilan de santé de l'échec si nous pouvons obtenir le même à l'aide de Docker événements et un script. Bilan de santé pour mieux l'intégrer à l'Essaim. Avec contrôle de santé intégré de l'Essaim, lorsqu'un conteneur dans un service est malsain, l'Essaim s'arrête automatiquement le malsain conteneur et commence un nouveau conteneur pour maintenir le récipient compter comme spécifié dans la réplique de la numération d'un service.
OriginalL'auteur Freax
Docker a un couple de façons d'obtenir des détails sur le conteneur de la santé. Vous pouvez configurer des contrôles de santé et la façon dont souvent ils s'exécutent. Aussi, des contrôles de santé peut être exécuté sur des applications en cours d'exécution à l'intérieur d'un conteneur, comme http (ce serait d'utiliser
curl --fail
option.) Vous pouvez afficher leshealth_status
événement pour obtenir plus de détails.Pour obtenir des informations détaillées sur la mauvaise conteneur de les inspecter de commande est très pratique,
docker inspect --format='{{json .State.Health}}' container-name
(voir https://blog.newrelic.com/2016/08/24/docker-health-check-instruction/ pour plus de détails.)Vous devez résoudre le problème causant la "malsain" de la balise (à tout moment le bilan de santé de la commande s'exécute et obtient un code de sortie 1) en premier. Cela peut ou ne peut pas exiger que le Panneau de redémarrer le conteneur, en fonction de l'erreur. Si vous êtes du démarrage/redémarrage de votre conteneurs automatiquement, puis de piégeage les erreurs de démarrage ou à l'exploitation forestière et de la santé de vérifier l'état peut aider à corriger rapidement les erreurs. Vérifier le lien si vous êtes intéressé dans le démarrage automatique.
docker inspect --format="{{json .State.Health}}" name-of-your-container
OriginalL'auteur Lea Klein
Selon https://codeblog.dotsandbrackets.com/docker-health-check/
Créer un conteneur et d'ajouter "restart: toujours".
Dans l'utilisation de la verification de la santé, de payer l'attention sur les points suivants:
Autonome, pour les conteneurs, le Panneau n'a pas l'intégration native de redémarrer le conteneur sur le bilan de santé de l'échec si nous pouvons obtenir le même à l'aide de Docker événements et un script. Bilan de santé pour mieux l'intégrer à l'Essaim. Avec contrôle de santé intégré de l'Essaim, lorsqu'un conteneur dans un service est malsain, l'Essaim s'arrête automatiquement le malsain conteneur et commence un nouveau conteneur pour maintenir le récipient compter comme spécifié dans la réplique de la numération d'un service.
J'ai résolu ce problème. Dans l'utilisation de la verification de la santé, de payer l'attention sur les points suivants autonome, Pour les conteneurs, le Panneau n'a pas l'intégration native de redémarrer le conteneur sur le bilan de santé de l'échec si nous pouvons obtenir le même à l'aide de Docker événements et un script. Bilan de santé pour mieux l'intégrer à l'Essaim. Avec contrôle de santé intégré de l'Essaim, lorsqu'un conteneur dans un service est malsain, l'Essaim s'arrête automatiquement le malsain conteneur et commence un nouveau conteneur pour maintenir le récipient compter comme spécifié dans la réplique de la numération d'un service.
OriginalL'auteur Freax