Связь между двумя контейнерами Docker, работающими на разных компьютерах, с сетью Docker (SSH) - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу соединить два док-контейнера, работающих на разных компьютерах, без роя докеров.Можно ли добиться этого с помощью порта 22 и сети Docker?

В том же узле я могу общаться с использованием локальной сети ip и bridge / MacVlan

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Это работает нормально, если вы используете docker run -p для публикации сетевых портов каждого контейнера через хост и для соединения между сервисами, используя hosts ' DNS-имена или IP-адреса.

server1$ docker run -p 12345:22 -e CONTAINER2_HOST=server2 -e CONTAINER2_PORT=24680 imagename
server2$ docker run -p 24680:22 -e CONTAINER1_HOST=server1 -e CONTAINER1_PORT=12345 imagename

Когда вы покинете текущую систему (если вы не используете выделенный контейнерный оркестратор), вы не сможете увидеть, «как» все работает в другой системе.С точки зрения server2, http://server1:12345 достигает службы в container1;но он не знает и не заботится, запущена ли эта служба в Docker или на виртуальной машине или непосредственно на хосте.

0 голосов
/ 13 февраля 2019

Лучше использовать Docker Swarm, если вы пытаетесь получить доступ к другой машине, так как это создаст оверлейные сети по всем подключенным демонам Docker.Если вы не хотите использовать Docker Swarm, вы можете использовать хост-сеть для обоих Docker Daemon.Это удалит сетевую изоляцию между хостом и контейнерами, чтобы вы могли получить доступ к контейнерам, используя сам IP хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...