docker learn :swarm

swarm是什么

swarm是一组运行docker服务的集群,之后,还是使用那些命令去操作docker,但是是通过swarm manager来执行的。

swarm中的机器可以是实体的也可以是虚拟的,加入swarm后,他们被当作节点

swarm manager能够使用多个策略去运行容器

emptiest node 最少使用的节点去运行

global 每个机器精确的分配一个指定的容器

我们通过swarm manager中的配置文件来制定对应的策略

 

swarm manager 是在swarm集群中唯一能够执行命令,确定其他机器能够作为worker加入swarm集群,work仅仅能够提供计算的能力,不能够授权哪台可以做,哪台不可以

 

现在,可以在本地机器使用单机模式,但是也能切换到swarm模式,这使得我们能够使用swarms,swarm模式使得当前的机器成为swarm manager。从现在开始,docker运行在swarm上的命令,而不仅仅是在当前机器上。

 

设置你的swarm

swarm由多个节点组成,可以是虚拟的也可以是实体的,基本的是通过运行docker swarm init 去开启swarm模式,使得当前机器成为swarm manager,然后运行docker swarm join 在其他机器上,使得他们成为worker加入swarm.

使用虚拟机之前需要先下载orcale的虚拟机环境

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

 

 

转载于:https://my.oschina.net/iioschina/blog/1931464

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值