# docker pull swarm
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/swarm latest 36b1e23becab 4 months ago 15.85 MB
2、创建Swarm
# docker swarm init --advertise-addr 192.168.23.56:2377
Swarm initialized: current node (4cejtuairtof6d0wjq88merwb) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-3kntv9pmgo1w2uk4yqk79v0lw0z35uw2k5j6rw7cns2v0xv3tn-2zqnn7e2zf1azaad2teeh9arw \
192.168.23.56:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
[root@kbsonlong ~]# docker swarm join \
> --token SWMTKN-1-3kntv9pmgo1w2uk4yqk79v0lw0z35uw2k5j6rw7cns2v0xv3tn-2zqnn7e2zf1azaad2teeh9arw \
> 192.168.23.56:2377
This node joined a swarm as a worker.
4、查看集群节点
[root@along ~]# docker node list
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4cejtuairtof6d0wjq88merwb * along.party Ready Active Leader
9388mi6e3fnk9l70g24cljhr5 kbsonlong Ready Active
[root@along ~]# docker node list
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4cejtuairtof6d0wjq88merwb * along.party Ready Active Leader
9388mi6e3fnk9l70g24cljhr5 kbsonlong Ready Active
//将kbsonlong 节点下线。如果要删除node1节点,命令是"docker node rm --force kbsonlong "
[root@along ~]# docker node update --availability drain kbsonlong
kbsonlong
[root@along ~]# docker node list
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4cejtuairtof6d0wjq88merwb * along.party Ready Active Leader
9388mi6e3fnk9l70g24cljhr5 kbsonlong Ready Drain
[root@along ~]#
//可以看到kbsonlong节点状态变为Drain,那么该节点就不会接受task任务分发,就算之前已经接受的任务也会转移到别的节点上。
//再次修改为active状态(及将下线的节点再次上线)
[root@along ~]# docker node update --availability active kbsonlong
kbsonlong
[root@along ~]# docker node list
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4cejtuairtof6d0wjq88merwb * along.party Ready Active Leader
9388mi6e3fnk9l70g24cljhr5 kbsonlong Ready Active
[root@along ~]#
[root@kbsonlong ~]# docker ps -a |grep shi
7122d3f37464 shipyard/shipyard:latest "/bin/controller --de" About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp shipyard-controller
b350b117d76d swarm:latest "/swarm j --addr 172." About an hour ago Up About an hour 2375/tcp shipyard-swarm-agent
a7feb0759efe swarm:latest "/swarm m --replicati" About an hour ago Up About an hour 2375/tcp shipyard-swarm-manager
3e784b0b2140 shipyard/docker-proxy:latest "/usr/local/bin/run" About an hour ago Up About an hour 0.0.0.0:2375->2375/tcp shipyard-proxy
49f9700f0811 alpine "sh" About an hour ago Up About an hour shipyard-certs
7fe4c0e821c1 microbox/etcd:latest "/bin/etcd -addr 172." About an hour ago Up About an hour 0.0.0.0:4001->4001/tcp, 0.0.0.0:7001->7001/tcp shipyard-discovery
e3750c5de7e2 rethinkdb "rethinkdb --bind all" About an hour ago Up About an hour 8080/tcp, 28015/tcp, 29015/tcp shipyard-rethinkdb
[root@kbsonlong ~]#