2017-09-08 1 views
0

Je vais rester simple.Comment faire une instance de micro service à la fois exécuter un script (en utilisant dockers)

J'ai plusieurs instances du même micro service (utilisant des dockers) et ce micro service est également responsable de la synchronisation d'un cache. Toutes les fois qu'il extrait des données de certains référentiels et les stocke dans le cache. Le problème est que je n'ai besoin que d'une seule instance de ce micro-service pour faire ce travail, et si cela échoue, j'en ai besoin d'un autre pour le remplacer.

Des suggestions comment faire les choses simples? Btw, y at-il une option pour étiqueter une instance de docker de micro-service et lui faire faire un travail supplémentaire?

Merci!

+0

Quel type d'orchestrateur utilisez-vous? –

Répondre

0

La responsabilité du redémarrage d'un service défaillant ou de la mise à l'échelle supérieure/inférieure est celle d'un orchestrateur. Par exemple, dans mon dernier projet, j'ai utilisé Docker Swarm.

Actuellement, restart policies Docker sont:

  • pas: Ne redémarre pas automatiquement le conteneur lorsqu'il sort. C'est la valeur par défaut.
  • sur-échec [: max-retries]: Redémarrer uniquement si le conteneur se ferme avec un état de sortie différent de zéro. Facultativement, limitez le nombre de tentatives de redémarrage effectuées par le démon Docker.
  • sauf si elle est arrêtée: Toujours redémarrer le conteneur, quel que soit le statut de sortie. Lorsque vous spécifiez toujours, le démon Docker essayera de redémarrer le conteneur indéfiniment. Le conteneur démarrera également toujours au démarrage du démon, quel que soit l'état actuel du conteneur.
  • Toujours: Toujours redémarrer le conteneur quel que soit l'état de la sortie, mais ne le démarrez pas au démarrage du démon si le conteneur a été mis à l'état arrêté auparavant.