docker容器的集群管理工具有swarm ,kubernetes。swarm是docker自带的具有简单的集群功能。
swarm 基本架构:

运行docker的主机可以创建一个swarm集群(manager),或者加入一个集群(worker)。注意只有运行docker的宿主机才能加入或创建集群。而不是docker运行的容器。
docker 命令只能在管理节点运行。
服务和任务:
任务(task )就是一个容器。
服务(services)是一组任务的集合。服务分两种:
- replicated services 按照一定规则在各个工作节点上运行指定个数的任务。
- global services 每个工作节点上运行一个任务
两种模式通过 docker service create 的 --mode 参数指定

1.创建集群
创建一个虚拟机manager
docker-machine create -d virtualbox manager
# ssh连接虚拟机
docker-machine ssh manage
# 管理节点docker swarm init 初始化,如果docker 主机拥有多个网卡,IP.必须指定使用的ip.
docker swarm init --advertise-addr 192.168.99.100
# 然后会输出如何加入这个集群的方法。
docker swarm join --token ********** ip:port
2.加入集群
# 创建一个虚拟机
docker-machine create -d virtualbox worker1
# ssh
docker ssh worker1
docker swarm join --token ***** ip:port
可以重复此步骤多创建几个工作节点。
3.查看集群
docker node ls
4.服务
docker service
管理集群的服务
4.1新建服务
# 新建服务,这些服务会均衡的分布到工作节点吗?
docker service create -replicas 3 -p 80:80 --name nginx nginx:1.137-alpine
# 查看服务
docker service ls
#查看服务详情
docker service ps nginx
# 查看日志
docker service logs nignx
4.2 服务伸缩
docker service scale nginx=5
# 或者
docker service scale nginx=2
# 删除服务
docker service rm nginx
网友评论