docker1.12.0 swarm集羣

測試環境:

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

wKioL1etMrGiBAF4AAAwcqyht9Q483.png-wh_50 

還可以用參數:

--listen-addr  指定監聽(格式: <ip|interface>[:port]) (默認:0.0.0.0:2377)

--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   

wKiom1etNU2CqKiZAAAZ8iUiNp0425.png

執行完成後收到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

wKioL1etND2ywwZeAAAMr1lX3ZU748.png 

 

查看運行狀態,這裏看到分別在Docker-Node1Docker-Node2各運行一個容器

[root@Docker-Node1 ~]# docker service  ps web

wKiom1etNFTwDQfEAAAWfHaXWE4176.png 

3.在線擴容,web的容器數量改成5

[root@Docker-Node1 ~]# docker service scale web=5

web scaled to 5

wKioL1etNJGTB6VAAAA5brWi2Uk917.png 

4.在線縮減

[root@Docker-Node1 ~]# docker service scale web=3

web scaled to 3

wKiom1etNKHxAxE-AAAvfsYSGd8785.png 

[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/

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章