Machine、Swarm、Compose、SocketPlane这些Docker生态圈软件各解决了哪些问题?


请用通俗的语言表述下Machine、Swarm、Compose、SocketPlane各自解决Docker在应用中哪个方面的问题?比如说Compose是为了解决同一个主机(可不可以是多个主机?)上复杂应用的部署问题。
已邀请:

苦逼少侠 - 去哪儿网互联网研发工程师,docker爱好

赞同来自: DockOne 郭蕾 wisen wangzi19870227 wangxin201492 hisen_huawei mysalt AKAK jay61439476 圣骑士 wenjie 0xff更多 »


其实这些官方doc都有介绍。

Machine:解决的是操作系统异构安装Docker困难的问题,没有Machine的时候,CentOS是一种,Ubuntu又是一种,AWS又是一种。有了Machine,所有的系统都是一样的安装方式。

Swarm:我们有了Machine就意味着有了docker环境,但是那是单机的,而通常我们的应用都是集群的。这正是Swarm要做的事情,给你提供docker集群环境和调度策略等。

Compose:有了环境,我们下一步要做什么?部署应用啊。然后我们需要docker run image1、docker run image2...一次一次不厌其烦的重复这些操作,每次都写大量的命令参数。Compose简化了这个流程,只需要把这些内容固话到docker-compose.yml中。

目前Machine、Swarm、Compose已经可以结合使用,创建集群环境,简单的在上面部署应用。但是还不完善,比如对于有link的应用,它们只能跑在Swarm集群的一个机器上,即使你的集群有很多机器。可以参考我的另一个问题

SocketPlane是Docker最近收购的产品,猜想应该是为了强化Docker的网络功能,比如提供原生跨主机的网络定制、强化Swarm和Compose的结合等。

郭蕾 - InfoQ主编,关注容器技术的发展。

赞同来自: wisen


谢谢邀请,楼上说的差不多啦,三大利器主要是解决Docker集群的问题,这也是Docker公司接下来的重点。SocketPlane是解决网络的问题,还有KiteMatic是解决易用的问题。具体内容也已经很多了,Docker生态圈的软件也很多,资料也很多。我补充几个比较好的内容源吧。
  1. Docker发布Machine、Swarm和Compose工具的初始版本
  2. Docker收购SDN技术创业公司SocketPlane
  3. SDN你必须知道的十大问题——SDN是什么?

oilbeater - 北大学渣@灵雀云

赞同来自: wisen


楼上的楼上已经说得很详细了,简单补充下 SocketPlane,SocketPlane 为容器提供了一层虚拟网络,使得网络的配置不必那么繁琐。

东方星痕 - 高级工程师

赞同来自:


我来提个问:
Docker Overlay Network 在上面的几个都使用时是具体解决什么的?
是不需要link使同一网络的容器都能互相访问?

要回复问题请先登录注册