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