2017-10-10 5 views
0

Il existe 3 conteneurs docker qui doivent être redémarrés automatiquement chaque fois que le serveur redémarre.Redémarrage des conteneurs Docker en séquence après le redémarrage du serveur

Nous pouvons démarrer les conteneurs à l'aide des politiques de redémarrage, telles que

sudo docker run --restart=always -d your_image 

mais parce qu'un conteneur est lié à un autre, ils doivent être lancés dans l'ordre.

Questioin: Existe-t-il un moyen de redémarrer automatiquement les conteneurs Docker en séquence?

+0

Utilisez-vous 'docker-compose' ou utilisez-vous simplement la commande' docker run'? – Rao

+0

@Rao 'docker run' – Nyxynyx

+0

Dans ce cas, vous avez le contrôle pour exécuter les commandes dans la séquence désirée, non? – Rao

Répondre

0

Docker n'a pas d'option pour cela, et c'est un anti-pattern pour les microservices. Au lieu de cela, chaque conteneur doit renvoyer des erreurs lorsque ses dépendances ne sont pas disponibles ou, en guise de repli, vous pouvez utiliser une commande comme wait-for-it dans l'entrypoint de votre conteneur pour attendre que vos dépendances soient disponibles. Je recommande également de ne pas utiliser de "liens" et de placer à la place tous vos services sur leur propre réseau de dockers, en laissant la résolution DNS intégrée gérer la découverte de service pour vous.