從零開始學習docker(十六)Swarm mode 建立叢集
阿新 • • 發佈:2019-07-06
準備環境:
三臺安裝了docker的伺服器。
swarm manager: 192.168.0.109
swarm worker1: 192.168.0.107
swarm worker2: 192.168.0.110
docker swarm init --advertise-addr 表示我們要初始化一個swarm就要宣告一個地址,因為他是一個cluster,必須有多個節點。如何讓別的節點知道我們的存在呢?需要advertise-addr 我們本地的地址。
我們現在swarm manager上執行:
vincent@192:~$ docker swarm init --advertise-addr=192.168.0.109 Swarm initialized: current node (u6bj8diva2g7yn0y0x1h7lrff) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
swarm manage初始化完成,並且如果需要新增一個worker需要使用下面的命令到worker節點上。
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
根據提示,我們在swarm worker1上執行命令:
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377 This node joined a swarm as a worker.
新增成功了。
在swarm manager中檢視:
docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 1jh4hysrh2ii5kuhk5p0whcm6 192 Ready Active u6bj8diva2g7yn0y0x1h7lrff * 192 Ready Active Leader
可以檢視到當前有兩個節點。
在swarm work2上執行命令:
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
This node joined a swarm as a worker.
這時檢視叢集狀態:
vincent@192:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1jh4hysrh2ii5kuhk5p0whcm6 192 Ready Active
ozotrf7bt5aa3taxu5479ak0y 192 Ready Active
u6bj8diva2g7yn0y0x1h7lrff * 192 Ready Active Leader
這樣三個節點的叢集