写点什么

5 个解决 Docker 网络问题的项目

  • 2014-10-24
  • 本文字数:1621 字

    阅读完需:约 5 分钟

Docker 是一个开源的应用容器引擎,它可以让开发者将自己的应用以及应用所依赖的内容打包到一个可移植的容器中,然后将该容器发布到任何流行的 Linux 机器上,也可以实现虚拟化。 Docker 彻底释放了虚拟化的威力,它让应用的分发、部署和管理都变得前所未有的高效和轻松,凭借着自己出众的能力,Docker 现在已经成为目前 IT 界创业者和创新者的宠儿。那么 Docker 是否已经足够完美了呢?答案当然是否定的,对于管理者和开发人员来说网络依然是 Docker 的一个痛点,如何管理 Docker 容器之间的交互和网络一直都充满了挑战。

为了解决网络的问题,有很多公司都开发了各自的产品以帮助开发者更方便地使用 Docker。Serdar Yegulalp 最近在 InfoWorld 上分享了一篇文章,介绍了这些项目中最重要的5 个,包括Weave、Kubernetes、CoreOS, Flannel、Pipework 以及SocketPlane,同时他认为这其中的部分项目将来可能会成为Docker 的组成部分。下面就让我们来了解一下这5 个项目。

Weave是由 Zett.io 公司开发的,它能够创建一个虚拟网络来连接部署在多台主机上的 Docker 容器。通过 Weave 所有的容器就像被接入了同一个网络交换机,那些使用网络的应用程序不必去配置端口映射和链接等信息。外部设备能够访问 Weave 网络上的应用程序容器所提供的服务,同时已有的内部系统也能够暴露到应用程序容器上。Weave 能够穿透防火墙并运行在部分连接的网络上。另外,Weave 的通信支持加密,所以用户可以从一个不受信任的网络连接到主机。如果你想了解更多与 Weave 相关的信息,或者查看相关源码,那么可以点击这里

Kubernetes是由 Google 推出的针对容器管理和编排的开源项目,它让用户能够在跨容器主机集群的情况下轻松地管理、监测、控制容器化应用部署。Kubernete 有一个特殊的与 SDN 非常相似的网络化概念:通过一个服务代理创建一个可以分配给任意数目容器的 IP 地址,前端的应用程序或使用该服务的用户仅通过这一 IP 地址调用服务,不需要关心其他的细节。这种代理方案有点 SDN 的味道,但是它并不是构建在典型的 SDN 的第 2-3 层机制之上。如果对此感兴趣可以阅读一下 Craig Matsumoto 在 sdncentral 上发表的这篇文章,或者点此查看源码。

Flannel之前的名字是 Rudder ,它是由 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。Kubernetes 会为每一个 POD 分配一个独立的 IP 地址,这样便于同一个 POD 中的 Containers 彼此连接,而之前的 CoreOS 并不具备这种能力。为了解决这一问题,Flannel 通过在集群中创建一个覆盖网络为主机设定一个子网。点此查看该项目的源码。

Pipework是由 Docker 的一个工程师设计的解决方案,它让容器能够在“任意复杂的场景”下进行连接。 Pipework Docker 的一个网络功能增强插件,它使用了 cgroups 和 namespacpace。点此查看该项目的源码。

SocketPlane目前仅停留在将“SDN 带给 Docker”的口号上,基本上没有实质性的工作。该项目的想法是使用和部署 Docker 一样的 devops 工具管理容器的虚拟化网络,同时为 Docker 构建一个相当于 OpenDaylight/Open vSwitch 的产品。听起来非常有前途,但是在 2015 年一季度之前我们无法看到任何产品。

对于以上项目,Serdar Yegulalp 在自己的文章中也发表了针对性的观点,他认为 Weave 是最好的起点,因为它通过一种直截了当的方法解决了当前大部分的问题。Kubernetes 也是一个比较好的起点,但是真要用起来可能并不是那么简单。而 Flannel 则最好是和 CoreOS 一起使用,同时它依赖于 Kubernetes。对于 Pipework,Serdar Yegulalp 认为它是一个临时的设计方案,很有可能会被抛弃。最后的 SocketPlane 则基本上是看看就行了,不要期望太高。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-24 01:4512503
用户头像

发布了 321 篇内容, 共 120.6 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

现在的 AI ,有多会做老师?

豆包MarsCode

Python 人工智能 程序员 AI 求职

对游戏语音软件Oopz遭遇DDoS攻击后的一些建议

网络安全服务

负载均衡 udp 语音聊天软件 DDoS 攻击 黑神话悟空

GreatSQL 异步复制及搭建

GreatSQL

Mac 系统清理与优化软件CleanMyMac X for mac

Mac相关知识分享

系统优化

新闻“样板间”提升50%开发效率,20家新闻媒体应用批量鸿蒙化

最新动态

对接开源大模型应用开发平台最佳实践

阿里云大数据AI技术

人工智能 LLM rag OpenSearch dify

GitHub Star 数量前 13 的自托管项目清单

NocoBase

GitHub 开源 自托管 self-hosted

截图和屏幕录制工具CleanShot X for mac

Mac相关知识分享

录屏软件

StarRocks 培训课程重磅上线!专家出品,助你升级打怪不走弯路!

StarRocks

关于粒子滤波的解析

芯动大师

粒子滤波

TCL电视投屏软件Mirror for TCL TV Mac版

Mac相关知识分享

投屏软件

mac苹果电脑矢量绘图软件:Sketch for mac 中文激活版

你的猪会飞吗

sketch Mac Mac软件下载站 mac破解软件下载

如何高效的匹配、筛选数据,避免嵌套循环

六哥是全栈

Java ts 开发技巧

Go必知必会:掌握Go语言中的Channel,并发编程的核心

王中阳Go

并发 channel Go 语言 GO语言编程

支撑AI的算力芯片,未来何去何从?

博文视点Broadview

Mac 高清屏幕录像工具iShowU Studio for mac

Mac相关知识分享

录屏软件

健康产业怎么定义?需要用到堡垒机吗?

行云管家

网络安全 数据安全 堡垒机 健康产业

如何看待:低代码开发平台的兴起无需经验?

快乐非自愿限量之名

低代码

参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制

阿里云天池

云原生

互联网大厂Java面试高手心法,在寒潮之下找到自己心仪的 offer。

码哥字节

Java 后端面试

华为视频独家呈现:发布会开场舞《见非凡》AiMax 版来袭

最新动态

读书笔记:简单高效的工作方式

老张

读书笔记 团队管理 远程办公

防城港等保测评机构有哪些?在哪里?

行云管家

等保 等级保护 防城港

爱回收商品详情数据接口

tbapi

爱回收API 爱回收商品详情数据接口

洞悉市场脉搏,从实时监控商品信息开始 —— 淘宝API的力量

技术冰糖葫芦

API Explorer平台 api 网关 API Gateway API 测试 pinduoduo API

火山引擎携手招商银行共探智能体应用,加速数字金融创新

新消费日报

PDF自动化批处理工具PDF Checkpoint for mac

Mac相关知识分享

PDF

化“腐朽”为“神奇”:5 种 RAG 优化技术应对千奇百怪的 Query

Baihai IDP

程序员 AI rag Baihai IDP 企业 9 月 PK 榜

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

NGINX开源社区

读书笔记 开源 最佳实践 反向代理 HAProxy

替换传统数据处理平台,TDengine 与华风数据达成合作

TDengine

数据库 tdengine 时序数据库

鸿蒙NEXT生态应用核心技术理念:一次开发,多端部署

芯盾时代

鸿蒙 物联网 国产化替代

5个解决Docker网络问题的项目_语言 & 开发_孙镜涛_InfoQ精选文章