我目前使用Docker Swarm和Consul设置了3个EC2实例.我有3个简单的节点应用程序分布在所有3个实例上,然后使用Nginx在我的集群主机上进行路由.
使用Overlay Networks指南,我创建了一个名为mynet的新覆盖图,并使每个容器都连接到该网络.使用docker inspect我可以确认每个节点容器和Nginx容器都已连接到mynet并具有IP.但是,在进入我的Nginx容器后,它只能通过网络与位于同一主机上的节点应用程序通信,而不能与集群中其他主机上的节点应用程序通信.
运行docker网络检查mynet后,仅列出我的两个容器(位于同一主机上的Nginx和一个节点实例),而未列出其他两个容器,即使它们具有该覆盖网络的名称和IP从码头检查.
这个想法是使用nginx reverse proxy将所有在线的新容器添加到它的配置中,但是一直困扰于使所有连接的容器.根据Docker networking docs for overlay,这应该可行.
我究竟做错了什么?谢谢.
编辑:
在对docker网络发送垃圾邮件几次后,检查mynet,即使我关闭了所有防火墙并打开了端口以进行测试,容器似乎仍在不断地与网络连接和断开连接.是什么原因引起的呢?
最佳答案