Мне было интересно, может ли кто-то отличать эти два. Оба из них имеют схожие имена.
В чем разница между режимами Дойкера и Рой?
Ответ 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>