Как переместить контейнер с одного узла на другой? - PullRequest
1 голос
/ 17 марта 2020

Я запускаю:

docker service create --replicas 2 --name search --publish 9200:9200 elasticsearch:2

В моих узлах: docker node ls

vbgqoejyrxbjxtt9bx7pa0qxl     nodo1             Ready               Active                                  19.03.2
dg75e1scg8fgjxdk6hb8fohii *   nodo2     Ready               Active              Leader              18.09.7

При перезапуске node2 две службы go переходят на node1 и когда node1 снова готов, две службы остаются на узле 2 Как я могу переместить службу на предыдущий узел? В моем случае я использовал:

docker service update --force search

1 Ответ

1 голос
/ 17 марта 2020

Одна из целей Docker -Swarm и других оркестраторов (например, Kubernetes) - это то, что они охватывают всю лежащую в основе структуру, например узлы, поэтому вам не нужно иметь дело с ручным планированием для конкретного узла.

Так что, если Swarm переместил ваше приложение на определенный узел, это потому, что это «удобно для Swarm», и если ему действительно нужно перебалансировать узлы, то он сделает это. Но пока у Swarm нет веских причин для этого, все остается прежним.

Новые приложения, скорее всего, будут сбалансированы между 2 узлами

...