Стоит ли настраивать сетевой адрес с помощью приложения Tarantool Cartridge с docker? - PullRequest
2 голосов

Когда я использую пакет docker для приложения, как мне настроить сетевые адреса?

1 Ответ

5 голосов
/ 01 июня 2020

Лог 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.

...