docker 1.12
集成了docker swarm
功能。根据Docker Swarm Is Dead. Long Live Docker Swarm.这篇文章,对比docker swarm
,docker 1.12
有以下优点:
(1)
With swarm mode you create a swarm with the ‘init’ command, and add workers to the cluster with the ‘join’ command. The commands to create and join a swarm literally take a second or two to complete. Mouat said “Comparing getting a Kubernetes or Mesos cluster running, Docker Swarm is a snap”.
Communication between nodes on the swarm is all secured with Transport Layer Security (TLS). For simple setups, Docker 1.12 generates self-signed certificates to use when you create the swarm, or you can provide certificates from your own certificate authority. Those certificates are only used internally by the nodes; any services you publicly expose use your own certs as usual.
docker 1.12
实现的swarm
模式更简单,并且node
之间使用TLS
机制进行通信。
(2)
The self-awareness of the swarm is the biggest and most significant change. Every node in the swarm can reach every other node, and is able to route traffic where it needs to go. You no longer need to run your own load balancer and integrate it with a dynamic discovery agent, using tools like Nginx and Interlock.
Now if a node receives a request which it can’t fulfil, because it isn’t running an instance of the container that can process the request, it routes the request on to a node which can fulfil it. This is transparent to the consumer, all they see is the response to their request, they don’t know about any redirections that happened within the swarm.
docker 1.12
的swarm
模式自带“self-awareness
”和“load-balance
”机制,并且可以把请求路由到符合要求的node
。
docker 1.12
的swarm
模式相关的文件默认存放在/var/lib/docker/swarm
这个文件夹下面。
关于docker 1.12
的swarm
模式的demo
,可参考这个video。
Update:docker 1.12
其实是利用swarmkit这个project
来实现docker swarm cluster
功能(相关代码位于daemon/cluster
这个目录)。
参考资料:
The relation between “docker/swarm” and “docker/swarmkit”;
Comparing Swarm, Swarmkit and Swarm Mode;
Docker 1.12 Swarm Mode – Under the hood。