Docker-Swarm
什么是Swarm?
Docker Swarm是一个用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,使用Swarm操作集群,会使用户感觉就像是在一台主机上进行操作。阿里容器服务就是使用Swarm技术。
Docker Swarm包括Docker Swarm(Docker集群工具)、Docker Machine(Docker管理工具)以及Docker Compose(Docker编排工具)
Swarm是运行在Linux机器上的守护程序,它所绑定的网络接口与独立Docker实例相同(http/2375或https/2376)。
Swarm 守护进程可以与标准的Docker客户端>=1.4.0相连接并接受其发送来的信息.
Swarm服务会对来自Docker客户端的指令信息进行配置,最后通过代理的方式把信息发送给不同Docker的守护进程,Swarm服务同时也监听着标准的Docker端口。 比如,Swarm会基于不同的打包算法并结合Docker守护进程在启动时指定好标签(tags),把create命令分配到不同的Docker守护进程上来执行。根据这一特性,用户可以创建由不同的Docker主机所构成的分区集群(partitioned cluster)并且将整个集群在逻辑上以一个单一的Docker终端的形式公开给用户,Swarm使这个过程变得极其简单。
在Swarm中docker run、docker create、docker inspect、docker kill、docker logs、docker start,是支持的,但不是所有命令都支持。随着这个项目的发展,将会越来越多的命令被支持。
如上文所说,Swarm只是一个管理工具。Docker集群启动后,不再依赖他,即使这个时候Swarm挂了,也不会影响集群。当Swarm恢复了他们继续接管这个Docker集群。所以这个Swarm属于一个管理端,可以安装在另一台服务器里面。该服务器并不需要大量的资源,但它却需要用很多的文件描述符来处理所有的TCP流量的输入和输出。在下面例子中,我会使用dockerswarm01来作为专用的Swarm master服务。
这里只是对Swarm做一个概括性的文字叙述,如果需要深入了解,可自行百度一下。对于阿里的集群,他自身就提供了一个管理集群机制。