2

当我将 docker pack 用于应用程序时,我应该如何配置网络地址?

4

1 回答 1

5

tarantool 墨盒中的网络连接逻辑不取决于您使用的是常规虚拟机还是 Docker。您需要您的 tarantool 实例能够通过 TCP 和 UDP 相互访问。

在 Docker 中,它意味着:

在同一个内部网络上设置容器

并使用内部网络地址将实例连接在一起。默认情况下,同一内部网络上的实例将能够在任何 tcp/udp 端口​​上相互访问。如果你想让多台机器共享同一个内部网络,你可以配置 Docker Swarm,它会给你一个所谓的跨越多台机器的“覆盖网络”。

绑定到主机的端口

运行容器时,您可以传递-p 3301:3301/tcp -p 3301:3301/udpdocker run. 它将从容器公开一个端口到主机上的外部网络。始终要非常小心地公开 udp 端口​​,否则实例将无法通过 gossip 协议相互通信。

除此之外,由于您将实例的公共地址更改为主机的 IP 而不是内部容器的 IP,因此您还需要指定其他参数来更改 tarantool 实例的广告 URI。您可以使用以下选项来做到这一点docker run-e TARANTOOL_ADVERTISE_URI=<your_host_ip>:3301

于 2020-06-01T08:55:27.543 回答