1. 程式人生 > >從零開始學習docker(十六)Swarm mode 建立叢集

從零開始學習docker(十六)Swarm mode 建立叢集

準備環境:

三臺安裝了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

這樣三個節點的叢集