Redémarrer un service dans le panneau de l'essaim de pile
Personne ne sait si il existe un moyen d'avoir docker essaim redémarrer un service qui fait partie d'une pile sans avoir à redémarrer l'ensemble de la pile?
Vous devez vous connecter pour publier un commentaire.
Faire
docker stack deploy
de nouveau pour moi, c'est la voie à suivre pour la mise à jour des services. Comme François Répondre, et aussi dans ma propre expérience, faire des mises à jour uniquement les services qui doivent être mis à jour.Mais parfois, il semble plus facile lors de l'essai de trucs à seulement redémarrer un service unique. Dans mon cas, j'ai dû effacer le volume et de mettre à jour le service de commencer comme elle était fraîche. Je ne sais pas si il y a inconvénient de la méthode que je vais décrire. Je l'ai testé sur ma pile de développement et il a très bien fonctionné pour moi.
Obtenir l'id de service que vous voulez déchirer vers le bas, puis utilisez
docker service update --force <id>
pour forcer la mise à jour du service qui fait re-déployerLa
--force
drapeau de forcer le service de mise à jour amenant à redémarrer.Échelle de 0 et sauvegarder:
À la recherche à la
panneau de la pile
documentation:De cet article de blog:
docker stack
fonctionne de la même manière quedocker compose
. C'est idempotent. Si la pile est déjà déployé,docker stack deploy
va redémarrer uniquement les services qui a le digérer ou balise de mise à jour:De mon expérience, quand j'ai déployer la même pile de nouveau avec un service de change, uniquement la mise à jour de service est redémarré.
MAIS... il semble y avoir certaines limites aux changements qui sont pris en compte (certains rapport des bugs avec les balises images), afin de lui donner un essai et voir si fonctionne comme prévu.
Vous pouvez également utiliser
service de mise à jour
si vous voulez être sûr que seuls les services ciblés si la mise à jour avec vos modifications.Vous pouvez aussi vous référer à ce similaires AFIN d'AQ.
service update
de la documentation, je pourrais ajouter/supprimer desenv
variables faux si il n'y a pas construit dans le chemin.docker stack deploy
ne serait pas démarrer un service (openldap). Je ne pouvais pas trouver un fichier journal.docker-compose run <service>
serait de commencer le conteneur sans problème. Enfin,docker service update --force <servce>
a fait un travail.supprimer:
redéployer: