测试环境:
Manager:
192.168.209.129 Docker_Node1
Node:
192.168.209.130 Docker_Node2
系统及软件:centos 7.2 docker 1.12.0
1.初始化swarm集群
[root@Docker-Node1 ~]# docker swarm init
还可以用参数:
--listen-addr 指定监听(格式:
--advertise-addr 指定通告网卡(格式:
执行后返回信息中包括两个命令,分别是加入node和加入manager
2.把Docker_Node2加入集群,根据提示的命令
[root@Docker-Node2 ~]# docker swarm join --token \
SWMTKN-1-1toyv27479tfrruwqj14l7dc6gsju4w4u8957wikn59kjlqqdu-dj71uypb64ckw0wylvq7svmzw\
192.168.209.129:2377
执行完成后收到This node joined a swarm as a worker.
[root@Docker-Node1 ~]# docker swarm --help
Commands: init Initialize a swarm join Join a swarm as a node and/or manager join-token Manage join tokens update Update the swarm leave Leave a swarm
3.查看集群状态信息
Manager:
[root@Docker-Node1 ~]# docker info
Swarm: active NodeID: awsh1ay3dvghh9kuuoipbnanj Is Manager: true ClusterID: eelrml6monrirrlp1qzou45nb Managers: 1 Nodes: 2 Orchestration: Task History Retention Limit: 5 Raft: Snapshot interval: 10000 Heartbeat tick: 1 Election tick: 3 Dispatcher: Heartbeat period: 5 seconds CA configuration: Expiry duration: 3 months Node Address: 192.168.209.129
Node:
[root@Docker-Node1 ~]# docker info
Swarm: active NodeID: 6tm7yidwzw69c8byp5rtoeqel Is Manager: false Node Address: 192.168.209.130
查看node 信息
[root@Docker-Node1 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 6tm7yidwzw69c8byp5rtoeqel Docker-Node2 Ready Active awsh1ay3dvghh9kuuoipbnanj * Docker-Node1 Ready Active Leader
还可以用inspect查看详细信息
[root@Docker-Node1 ~]# docker node inspect 6tm7yidwzw69c8byp5rtoeqel
[root@Docker-Node1 ~]# docker node --help
Commands: demote Demote a node from manager in the swarm inspect Display detailed information on one or more nodes ls List nodes in the swarm promote Promote a node to a manager in the swarm rm Remove a node from the swarm ps List tasks running on a node update Update a node
Docker service
1.创建nginx服务
[root@Docker-Node1 ~]# docker service create --name web --publish 80:80 --replicas 2 nginx
6x1ymmvsugcxtib6sjyjat4yd
注:
docker service create 创建service命令 --name 名称 --publish 指定对外提供服务端口 --replicas 运行容器数量 nginx 镜像名称
2.查看创建的service
[root@Docker-Node1 ~]# docker service ls
查看运行状态,这里看到分别在Docker-Node1、Docker-Node2各运行一个容器
[root@Docker-Node1 ~]# docker service ps web
3.在线扩容,web的容器数量改成5
[root@Docker-Node1 ~]# docker service scale web=5
web scaled to 5
4.在线缩减
[root@Docker-Node1 ~]# docker service scale web=3
web scaled to 3
[root@Docker-Node1 ~]# docker service --help
Commands: create Create a new service inspect Display detailed information on one or more services ps List the tasks of a service ls List services rm Remove a service scale Scale one or multiple services update Update a service
参考:https://docs.docker.com/engine/swarm/