2016-07-05 5 views
5

Одна из полезных функций оригинального «Docker Swarm» было то, что он:Может ли Docker 1.12 в режиме «swarm» предоставить «единый виртуальный хост Docker»?

превращает пул Докер хостов в один виртуальный Докер хозяина

позволяя инструменты (такие как docker CLI , и docker-compose), чтобы быть агностиком о том, работают ли они против одного экземпляра Docker Engine или кластера Swarm.

Docker 1.12 предоставляет интегрированный «режим роя», который представляет собой захватывающий новый подход к оркестровке Докера. Но разве мы потеряли функцию «кластер как виртуальный хост-докер» в этом процессе? Использование docker run против мастера режима роя только начинает запускать контейнеры на самом главном узле. docker ps теперь не возвращает никакого намека на то, на какой машине работает каждый контейнер. Это правда, что теперь нужно использовать кластерные подкоманды, такие как docker service и docker deploy, чтобы делать что-то по всему кластеру?

ответ

9

Это правильная интерпретация. Вы будете больше управлять Роем, как вы сделали с одним движком, команды для управления и планирования в Рой меняются. Использование docker run и docker-compose предназначено для одного хоста. С помощью docker service необходимо запланировать рой. Композиция перемещается в пакеты, которые вы docker deploy, и управляйтесь с помощью docker stack. Я бы сказал, что один огромный плюс нового дизайна не забывает, когда вы управляете роем против одного узла, потому что вы не проверили настройки $DOCKER_HOST.

Миграция рассматривается с docker-compose bundle, и нет ничего, что помешало бы вам запустить старую реализацию контейнера роя на платформе 1.12 и получить доступ к ней, как вы всегда. Вы просто не получите преимущества оркестровки от 1.12 Swarm.

Смежные вопросы