2015-05-31 4 views
1

Я установил рой кластера с двумя машинами. Он работает по своему желанию. Я могу запустить контейнер на нужном узле на основе фильтра ограничений. Однако, когда я пытаюсь выполнить ping один контейнер в одном узле из контейнера в другом узле, он терпит неудачу. Он не признает этого. Это как ожидалось, или я сделал что-то неправильно в настройке кластера рой?Docker Swarm: позволяет ли двум контейнерам в разных хостах общаться?

Другие детали:

  • машина 1 (10.0.0.4) и как хост/узел
  • машина 2 (10.0.0.21) в качестве узла
  • Рой агент является 10.0.0.4: 2374 (IP: порт)

вывод информации команды это:

docker -H tcp://10.0.0.4:2374 info 
Containers: 11 
strategy: spread 
Filters: affinity, health, constraint, port, dependency 
Nodes: 2 
machine1: 10.0.0.4:2375 
    └ Containers: 6 
    └ Reserved CPUs: 0/25 
    └ Reserved Memory: 0 B/24.76 GiB  
machine2: 10.0.0.21:2375 
    └ Containers: 5 
    └ Reserved CPUs: 0/25 
    └ Reserved Memory: 0 B/24.76 GiB 
+0

Если вам нужна поддержка для нескольких хост-сетей, вы должны использовать docker-experimental с поддержкой vxlan. Вот [readme] (https://github.com/docker/docker/blob/ master/experimental/compose_swarm_networking.md), объясняя, как это установить. Родная поддержка роя для сетей libnetwork и multi-host будет там, когда libnetwork будет объединена вверх по течению (докер 1.9). – abronan

+0

Вы когда-нибудь это выясняли? Я вижу ту же проблему. Любопытно, если вы выяснили, что о ваших настройках сети было неправильным. –

ответ

1

Да, из документов «Docker Swarm» является родным кластером для Docker. Он превращает пул хостов Docker в единый виртуальный хост. »https://docs.docker.com/swarm/

+0

Да .. Это говорит так, и я ожидаю, что если я использую swam-кластер, тогда контейнер, запущенный на другом хосте, должен иметь возможность пинговать друг друга, но я не могу выполнить ping два контейнера, работающих на разных хостах. – pgh

+0

затем введите в контейнер с 'docker exec -it container_id bash' и отлаживайте, почему он не может, см. Другой, глядя на таблицу маршрутизации, ip-адрес, маску, введите другой контейнер и сделайте то же самое – user2915097

+0

ОК . Я проверю его ... Также, если я запускаю два контейнера на другом узле, используя один и тот же идентификатор изображения (то же самое изображение присутствует в обоих докере-демонах, работающих на двух разных узлах), им присваивается тот же IP-адрес. – pgh

1

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

2

Overlay networks был введен в Docker 1.9 (ноябрь 2015 г.), что позволяет контейнерам в разных узлах (хостах) быть частью одной и той же сети и

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