Это работает нормально, если вы используете 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 или на виртуальной машине или непосредственно на хосте.