跨主机共享容器 ip 和端口
Sharing container ip and port across the hosts
我们有一组 docker 容器分布在多个主机上。一些容器是同一逻辑组的一部分,即 network 因此容器应该能够直接对话,访问彼此的 IP 和端口(由 docker 随机化)。
情况类似于在Docker 1.10 中使用networks 和docker-compose 1.6x 在一台主机上,但分布在许多主机上.
我知道 etcd/zookeeper 的 swarm 可以管理和连接 docker 的集群,但我不知道我在一个容器中的应用程序如何知道该容器的 IP 地址和端口其他主机上其他容器中的其他部分。
Docker 的多主机网络包含在本教程中:https://docs.docker.com/engine/userguide/networking/get-started-overlay/
您的应用不需要知道容器的 IP 地址。您可以使用服务名称或其他别名作为主机名。嵌入式 DNS 服务器会将其解析为正确的 IP 地址。
使用此设置,您根本不需要主机端口,因此您已经知道该端口,因为它是一个静态值。
我们有一组 docker 容器分布在多个主机上。一些容器是同一逻辑组的一部分,即 network 因此容器应该能够直接对话,访问彼此的 IP 和端口(由 docker 随机化)。
情况类似于在Docker 1.10 中使用networks 和docker-compose 1.6x 在一台主机上,但分布在许多主机上.
我知道 etcd/zookeeper 的 swarm 可以管理和连接 docker 的集群,但我不知道我在一个容器中的应用程序如何知道该容器的 IP 地址和端口其他主机上其他容器中的其他部分。
Docker 的多主机网络包含在本教程中:https://docs.docker.com/engine/userguide/networking/get-started-overlay/
您的应用不需要知道容器的 IP 地址。您可以使用服务名称或其他别名作为主机名。嵌入式 DNS 服务器会将其解析为正确的 IP 地址。
使用此设置,您根本不需要主机端口,因此您已经知道该端口,因为它是一个静态值。