kaywang 发表于 2018-5-29 08:46:41

docker1.12.0 swarm集群

  测试环境:

  Manager:
  192.168.209.129Docker_Node1
  Node:
  192.168.209.130Docker_Node2
  系统及软件:centos 7.2docker 1.12.0
  
  1.初始化swarm集群
  # docker swarm init

  还可以用参数:
  --listen-addr指定监听(格式: <ip|interface>[:port]) (默认:0.0.0.0:2377)
  --advertise-addr 指定通告网卡(格式: <ip|interface>[:port])
  
  执行后返回信息中包括两个命令,分别是加入node和加入manager
  
  2.把Docker_Node2加入集群,根据提示的命令
  # docker swarm join --token \
  SWMTKN-1-1toyv27479tfrruwqj14l7dc6gsju4w4u8957wikn59kjlqqdu-dj71uypb64ckw0wylvq7svmzw\
  192.168.209.129:2377   

  执行完成后收到This node joined a swarm as a worker.
  
  # docker swarm --help
Commands:
init      Initialize a swarm
join      Join a swarm as a node and/or manager
join-tokenManage join tokens
update      Update the swarm
leave       Leave a swarm  
  3.查看集群状态信息
  Manager:
  # 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:
  # docker info
Swarm: active
NodeID: 6tm7yidwzw69c8byp5rtoeqel
Is Manager: false
Node Address: 192.168.209.130  
  查看node 信息
  # docker node ls
ID                           HOSTNAME      STATUSAVAILABILITYMANAGER STATUS
6tm7yidwzw69c8byp5rtoeqel    Docker-Node2Ready   Active      
awsh1ay3dvghh9kuuoipbnanj *Docker-Node1Ready   Active      Leader  
  还可以用inspect查看详细信息
  # docker node inspect 6tm7yidwzw69c8byp5rtoeqel
  
  # 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服务
  # docker service create --name web --publish 80:80 --replicas 2 nginx
  6x1ymmvsugcxtib6sjyjat4yd
  
  注:
docker service create 创建service命令
--name 名称
--publish 指定对外提供服务端口
--replicas 运行容器数量
nginx 镜像名称  
  2.查看创建的service
  # docker service ls
  
  
  查看运行状态,这里看到分别在Docker-Node1、Docker-Node2各运行一个容器
  # docker serviceps web

  3.在线扩容,web的容器数量改成5
  # docker service scale web=5
  web scaled to 5

  4.在线缩减
  # docker service scale web=3
  web scaled to 3

  # 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/
  
  
页: [1]
查看完整版本: docker1.12.0 swarm集群