网络-Docker Swarm-网络覆盖未连接所有容器

前端之家收集整理的这篇文章主要介绍了网络-Docker Swarm-网络覆盖未连接所有容器 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我目前使用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,即使我关闭了所有防火墙并打开了端口以进行测试,容器似乎仍在不断地与网络连接和断开连接.是什么原因引起的呢?

最佳答案
原来有两个问题导致了我的问题.

一种是我正在使用kernel 3.13,而docker network overlay不支持.升级到3.16可解决此问题.其次,Swarm 1.0.1中存在一个错误,该错误确实正确聚合了网络信息.它已经被固定为here,但截至撰写本文时尚未发布.

猜你在找的Docker相关文章