Docker Swarm可以视为多个Docker Engines的集群,从Docker 1.12开始出现。
在一个Docker Swarm中,可以有多个Docker Engines。一个Docker Engine就是一个节点。Docker Swarm中的节点可以分为Manager节点和Worker节点。
1. Manager节点
通常,第一个Manager节点初始化整个Docker Swarm,命令如下:
docker swarm init --advertise-addr ip:port --listen-addr ip:port
说明:该命令初始化一个Docker Swarm,其他节点可以通过该命令生成的token加入到该Docker Swarm。
通过token加入到Docker Swarm的节点,可以是Worker节点,也可以是另一个Manager节点。不同类型的节点,加入的token不同;但同一类型的节点加入的token一样。
- 在Docker Swarm中的Manager节点上查询供Manager节点加入的token
- 新Manager节点加入已有的Docker Swarm
- 在Docker Swarm中的Manager节点上查询供Worker节点加入的token
- 查看Swarm中的节点列表
- 查看某个节点上运行的进程
docker node ps self #当前节点
- 提升一个Worker节点为Manager节点
docker info
2. Worker节点
Workers节点上的 一个个containers就是tasks。
- 作为Workers节点加入到已有的Docker Swarm
docker node ls