docker learn :swarm

swarm是什麼

swarm是一組運行docker服務的集羣,以後,仍是使用那些命令去操做docker,可是是經過swarm manager來執行的。node

swarm中的機器能夠是實體的也能夠是虛擬的,加入swarm後,他們被看成節點docker

swarm manager可以使用多個策略去運行容器ssh

emptiest node 最少使用的節點去運行this

global 每一個機器精確的分配一個指定的容器spa

咱們經過swarm manager中的配置文件來制定對應的策略token

 

swarm manager 是在swarm集羣中惟一可以執行命令,肯定其餘機器可以做爲worker加入swarm集羣,work僅僅可以提供計算的能力,不可以受權哪臺能夠作,哪臺不能夠ip

 

如今,能夠在本地機器使用單機模式,可是也能切換到swarm模式,這使得咱們可以使用swarms,swarm模式使得當前的機器成爲swarm manager。從如今開始,docker運行在swarm上的命令,而不單單是在當前機器上。get

 

設置你的swarm

swarm由多個節點組成,能夠是虛擬的也能夠是實體的,基本的是經過運行docker swarm init 去開啓swarm模式,使得當前機器成爲swarm manager,而後運行docker swarm join 在其餘機器上,使得他們成爲worker加入swarm.虛擬機

使用虛擬機以前須要先下載orcale的虛擬機環境it

1.配置兩個虛擬機器VMS使用docker-machine命令

docker-machine create --driver virtualbox myvm1

docker-machine create --driver virtualbox myvm2

 

2.查看建立的虛擬機 ip和相關信息

docker-machine ls

初始化swarm和增長節點

第一個機器是manager,執行命令,管理其餘workers,另外一個機器是worker

$ docker-machine ssh myvm1 "docker swarm init --advertise-addr <myvm1 ip>"

Swarm initialized: current node <node ID> is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token <token> \ <myvm ip>:<port> To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

將另外一臺機器添加爲worker

$ docker-machine ssh myvm2 "docker swarm join \ --token <token> \ <ip>:2377" This node joined a swarm as a worker.

運行命令查看swarm 信息

$ docker-machine ssh myvm1 "docker node ls" ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS brtu9urxwfd5j0zrmkubhpkbd myvm2 Ready Active rihwohkh3ph38fhillhhb84sk * myvm1 Ready Active Leader

 

在swarm manager上發佈應用

docker stack deploy -c docker-compose.yml getstartedlab

相關文章
相關標籤/搜索