Docker堆栈容器交互

Docker堆栈容器交互,docker,sockets,containers,Docker,Sockets,Containers,嗯。我很难理解容器在swarm覆盖网络中是如何相互作用的。 例如,我有stackmystack。 在这个mystack中,我有两个容器:mycontainer0和mycontainer1。 在“docker stack deploy”之后,docker给容器起了另一个名字:mystack_mycontainer0.1和mystack_mycontainer1.1。 现在我想在容器之间进行一些交互。例如,我想从第一个容器ping第二个容器。我可以通过shell“ping mystack_mycon

嗯。我很难理解容器在swarm覆盖网络中是如何相互作用的。 例如,我有stackmystack。 在这个mystack中,我有两个容器:mycontainer0和mycontainer1。 在“docker stack deploy”之后,docker给容器起了另一个名字:mystack_mycontainer0.1和mystack_mycontainer1.1。 现在我想在容器之间进行一些交互。例如,我想从第一个容器ping第二个容器。我可以通过shell“ping mystack_mycontainer1”来完成。 这就行了!好。 现在我想从我的C++应用程序UDP包从第一个容器发送到另一个容器。我想使用unix套接字。 但是停止。。。我应该使用表192.168.0.23中的目标容器的IP地址。但我不知道,因为我所知道的一切都是它的语义名称mystack_mycontainer1。
Whell…我该如何处理这项任务?

我肯定您不是在问如何从DN获取IP地址。除此之外,您可能希望使用服务名称,该名称是可解析的,并且具有名称上的可预测性。但请注意,除非服务下至少有一个健康的容器,否则服务也不会被解析。

我不确定套接字是否能够自己解析主机名。所以我能做的最好的事情就是使用getaddrinfo()手动解析主机名。对吗?