В чем разница между режимами Дойкера и Рой?

Мне было интересно, может ли кто-то отличать эти два. Оба из них имеют схожие имена.

Ответ 1

Docker Swarm - это отдельный продукт, который можно использовать для кластеризации нескольких узлов Docker. До версии Docker 1.12 это была единственная собственная опция Docker для кластеризации хостов, и для нее требовалось множество дополнительных настроек для распределенного состояния, обнаружения сервисов и безопасности.

С Docker 1.12, Swarm Mode встроен в Docker Engine. Для запуска кластера вам просто нужно установить Docker на несколько машин, запустите docker swarm init, чтобы переключиться в режим Swarm и docker swarm join, чтобы добавить в кластер больше узлов. Состояние, обнаружение и безопасность включены с нулевой настройкой.

Режим Swarm не является обязательным, но если вы хотите запустить несколько хостов Docker, это предпочтительный способ. Вы получаете надежность, балансировку нагрузки, масштабирование и обновление сервисов в 1.12, и, вероятно, основная масса новых функций перейдет в режим Swarm. Первоначальный продукт Docker Swarm, вероятно, будет иметь только обновления обслуживания в будущем (хотя Swarm - это с открытым исходным кодом, так же как Docker Engine).

Ответ 2

Docker Swarm (также Swarm classic) принципиально отличается от Swarm Mode. Функция Native Swarm будет продолжать поддерживаться в выпуске Docker 1.12, это делается для сохранения обратной совместимости.

Docker Swarm (классический):

  • Отдельно от Docker Engine и может работать как Контейнер
  • Нуждается в внешнем хранилище KV, таком как Consul, etcd, Zookeeper

Пример использования:

docker run swarm manage <consul-ip>
docker -H <worker-ip> run swarm join --advertise=<worker-ip> <consul-ip>

Режим Swarm (новый, предпочтительный):

  • Встроенный двигатель Docker
  • Нет необходимости в отдельном внешнем хранилище KV

Пример использования:

docker swarm init --advertise-addr <manager-ip>
docker -H <worker-ip> swarm join --token <worker-token>