Тома Docker, использующие локальный драйвер, совместно используются репликами службы Docker? - PullRequest
0 голосов
/ 19 декабря 2018

Я читал докерскую документацию о запуске сервиса с томами.https://docs.docker.com/storage/volumes/#start-a-service-with-volumes

Скажем, например, я создаю Swarm с одним управляющим узлом и одним рабочим узлом.

В моем файле стека докеров я указываю:

  1. Развертывание одного сервиса с 2 репликами.

  2. Том, использующий локальный драйвер для этой службы.Назовите его myVolume.

  3. Через ограничения, чтобы только запланировать реплики службы на этом одном рабочем узле.

В документах говорится "Когда вы запускаете службуи определите том, каждый контейнер службы использует свой собственный локальный том. Ни один из контейнеров не может совместно использовать эти данные, если вы используете драйвер локального тома, но некоторые драйверы томов поддерживают общее хранилище. "

Приведенные выше документысказать, что изменения, внесенные в myVolume из реплики 1, не будут видны в myVolume из реплики 2 (и наоборот)?Docker создает новое пространство под _data для каждой новой реплики службы?

1 Ответ

0 голосов
/ 20 декабря 2018

То, на что указывают документы, и, возможно, нуждается в некоторой переписке, заключается в том, что драйвер локального тома с параметрами по умолчанию будет хранить данные локально для каждого узла.Это пытается устранить путаницу у тех, кто полагает, что тома в режиме роя каким-то образом автоматически реплицируют свои данные между узлами, но не делают этого.Таким образом, сервис, распределенный по 4 узлам, будет иметь 4 разных тома.В многоузловом кластере Swarm необходимо разместить постоянные данные в глобально доступном месте для поддержки служб, мигрирующих между узлами, например, nfs, которые вы можете реализовать с помощью локального драйвера тома.

С одним узлом Swarmкластера или службы, привязанной к одному узлу, монтирование тома с тем же именем сделает одинаковые файлы доступными для каждой реплики / контейнера так же, как если бы вы запустили его без роя.

...