測試環境:
node
Manager:nginx
192.168.209.129 Docker_Node1 web
Node:docker
192.168.209.130 Docker_Node2centos
系統及軟件:centos 7.2 docker 1.12.0bash
1.初始化swarm集羣ide
[root@Docker-Node1 ~]# docker swarm init測試
還能夠用參數:spa
--listen-addr 指定監聽(格式: <ip|interface>[:port]) (默認:0.0.0.0:2377)3d
--advertise-addr 指定通告網卡(格式: <ip|interface>[:port])
執行後返回信息中包括兩個命令,分別是加入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/