Лог c сетевого подключения в картридже tarantool не зависит от того, используете ли вы обычные виртуальные машины или Docker. Вам нужно, чтобы ваши экземпляры тарантула могли связываться друг с другом через TCP и UDP.
В Docker это означает:
Настройка контейнеров в одной внутренней сети
И использование внутренних сетевых адресов для соединения экземпляров вместе. По умолчанию экземпляры в одной внутренней сети могут связываться друг с другом по любым портам TCP / UDP. Если вы хотите, чтобы несколько машин использовали одну и ту же внутреннюю сеть, вы можете настроить Docker Swarm, что даст вам так называемую «оверлейную сеть», охватывающую несколько машин.
Привязка к порту хоста
При запуске контейнера вы можете передать -p 3301:3301/tcp -p 3301:3301/udp
в docker run
. Он откроет порт из контейнера во внешнюю сеть на хосте. Будьте очень осторожны, чтобы всегда открывать порт udp, потому что в противном случае экземпляры не смогут общаться друг с другом по протоколу сплетен.
В дополнение к этому, поскольку вы меняете адрес publi c своего в качестве IP-адреса вашего хоста, а не IP-адреса внутреннего контейнера, вам также необходимо указать дополнительный параметр, который изменяет рекламный URI-адрес экземпляра tarantool. Вы можете сделать это с помощью следующей опции docker run
: -e TARANTOOL_ADVERTISE_URI=<your_host_ip>:3301
.