• 地址:广州市天河区华南植物园-龙洞慧创百思G220
  • 免费热线 : 020-87581205
  • 电子邮箱 : sw@51mimu.com

容器服务的网络模型,如何做到容器跨主机互联?_Swarm FAQs_常见问题_容器服务(已停止服务)-阿里云

 知识中心     |      2020-05-13 12:30:34

容器服务的网络模型,如何做到容器跨主机互联?

更新时间:2019-11-04 11:48:07

编辑 · 

新浪微博 微信 钉钉

本页目录

容器间网络互通

容器服务为集群中每个容器提供集群内可达的独立 IP,容器之间就可以通过这个独立的 IP 互相通信,而不需要通过 NAT 暴露到主机端口,解耦了与宿主机 IP 的依赖,因此避免了配置 NAT 的时候多个容器端口冲突的问题。而如何实现跨主机的容器通信,在不同网络模型下面的实现方案如下。

VPC 网络模式下:

专有网络(Virtual Private Cloud,简称 VPC),帮助您基于阿里云构建出一个隔离的网络环境。您可以完全掌控自己的虚拟网络,包括选择自由 IP 地址范围、划分网段、配置路由表和网关等。容器服务通过配置 VPC 路由表的方式将容器对容器的访问转发到容器 IP 网段所对应的 ECS 机器上。如下图所示。



在集群的一台节点(172.16.1.1)上启动 Docker daemon 的时候,指定默认的 bridge 网络的 IP 段为 192.168.1.0/24。另外一个节点(172.16.1.2)启动 Docker daemon 时,指定为 192.168.2.0/24。然后,设置对应的路由规则到 VPC 下面的 vRoute 路由表将 192.168.1.0/24 转发到 172.16.1.1 所在节点。另外一个节点也配置类似的路由规则。

如此,比如在节点 1 上的一个 IP 为 192.168.1.2 的容器访问节点 2 上的一个 IP 为 192.168.2.2 的容器,就能通过路由表的转发将请求转发到对应的机器上,又通过 Docker 在机器上为 bridge 网桥创建的路由规则将请求转发到 Docker0 的网桥上,然后转发到 IP 为 192.168.2.2 对应的容器上。

另外,容器服务在 VPC 中给 Containers 分配了独立的网段以及路由条目,要避免与原有的 vSwitch 网段、路由表条目及机器上的 IP 路由表冲突,否则请求就可能无法转发到正确的容器上。

Classic 网络模式下:

从 Docker 1.9 开始,Docker 通过 Vxlan 的协议支持原生的 跨主机的容器网络。在 Classic 网络环境下,容器服务基于 Docker Overlay Network 创建一个集群内容器互通的网络环境,通过 Overlay 的网络虚拟出多主机中的容器网络是同一个虚拟出的子网,从而容器可以跨主机互相通信。

跨节点的 Link

在多容器的应用中,link 常用于描述容器间的依赖,比如 WordPress 的 web 服务依赖于 MySQL 的数据库服务,那么 WordPress 容器启动时就可以通过 link 的方式去获取 MySQL 容器的一系列参数,例如数据库连接 IP、端口等。

但是 Docker 的 link 仅支持在同一个主机节点上,而容器服务支持跨节点的容器连接,当容器 IP 变化时,链接容器中容器别名也会跟着变化。这些行为和单节点上使用 link 是一致的。

容器到虚拟机的访问

容器服务中的容器中保留有访问外部网络的路由,所以如果容器需要访问虚拟机的服务或地址,也可以直接通过虚拟机的 IP 或者域名进行访问。

相关内容

上一篇:如何发布或更改应用对外端口?

下一篇:路由服务常见问题

相关文档

相关产品

  • 容器服务(已停止服务)

    容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打造 Docker 云端最优化的运行环境。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。

  • 容器服务Kubernetes版

    容器服务Kubernetes版(Container Service for Kubernetes)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。

  • 容器镜像服务

    容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。

以上内容是否对您有帮助?

在文档使用中是否遇到以下问题

  • 内容错误

  • 更新不及时

  • 链接错误

  • 缺少代码/图片示例

  • 太简单/步骤待完善

  • 其他

  • 内容错误

  • 更新不及时

  • 链接错误

  • 缺少代码/图片示例

  • 太简单/步骤待完善

  • 其他

更多建议

匿名提交

感谢您的打分,是否有意见建议想告诉我们?

感谢您的反馈,反馈我们已经收到

文档反馈

喜欢 | 0
暂无评论,快来抢沙发吧!

发表评论

当前登录:未提供 [登录]


COPYRIGHT © 2018-2019,WWW.51MIMU.COM,ALL RIGHTS RESERVED版权所有 © 广州米姆信息科技有限公司(阿里云、腾讯云代理商) 粤ICP备18145377号

sitemap feed