docker进阶之swarm

(一) swarm

  1. docker swarm init --advertise-addr 192.168.8.254(初始化 swarm ,并将192.168.8.254作为manager主节点)
  2. root@ubuntu:/home/mydocker# docker swarm init --advertise-addr 192.168.8.254
    Swarm initialized: current node (89hiqza03xxvfn61jgp6uqh1z) is now a manager.
    
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-4cr7gjrg0xlna98r2i0wjyhnlewqe0q13kn93oxc4zqnf5wrtp-4ofxys4bxd855wbzvcjppamm7 192.168.8.254:2377
    
    To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
    
  3. 在其他机器上可以输入docker swarm join --token SWMTKN-1-4cr7gjrg0xlna98r2i0wjyhnlewqe0q13kn93oxc4zqnf5wrtp-4ofxys4bxd855wbzvcjppamm7 192.168.8.254:2377指令,即将此从机加入了swarm集群中
  4. docker swarm join --token SWMTKN-1-4cr7gjrg0xlna98r2i0wjyhnlewqe0q13kn93oxc4zqnf5wrtp-4ofxys4bxd855wbzvcjppamm7 192.168.8.254:2377 (将从机加入manager主机中)
  5. docker swarm join-token manager(在主节点下输入,加入一个主节点)
  6. docker swarm join-token worker(在主节点下输入,加入一个从节点)
  7. docker node ls(查看集群节点信息)
  8. root@ubuntu:/home/mydocker# docker node ls
    ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
    89hiqza03xxvfn61jgp6uqh1z *   ubuntu              Ready               Active              Leader              18.09.7
    
  9. (二) Raft协议

  10. 保证绝大多数节点存活才可以用,集群至少大于3台,主节点大于3,并且保证节点存活数至少2台,集群才可用。
  11. docker service create  -p 80:80 --name myNginx nginx(创建一个docker 服务,映射端口80,docker run 是单机启动,不能扩容,docker service 是集群启动,可以动态扩容)
    root@ubuntu:/home/mydocker# docker service create -p 80:80 --name myNginx nginx
    dacfv8p672f85mhed4ab6hw5k
    overall progress: 1 out of 1 tasks 
    1/1: running   [==================================================>] 
    verify: Service converged 
    
  12. docker service ls(查看所有启动的服务)
  13. docker service ps myNginx(查看 myNginx的服务)
  14. docker service update --replicas 4 myNginx(给myNginx 启动4个副本)
    root@ubuntu:/home/mydocker# docker service update --replicas 4 myNginx
    myNginx
    overall progress: 4 out of 4 tasks 
    1/4: running   
    2/4: running   
    3/4: running   
    4/4: running   
    verify: Service converged 
    root@ubuntu:/home/mydocker# docker service ps myNginx
    ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
    vmig1tpm632v        myNginx.1           nginx:latest        ubuntu              Running             Running 8 minutes ago                       
    3cy3pby6ocn2        myNginx.2           nginx:latest        ubuntu              Running             Running 2 minutes ago                       
    dj4v82dq5ltc        myNginx.3           nginx:latest        ubuntu              Running             Running 2 minutes ago                       
    3su2xlgskgzt        myNginx.4           nginx:latest        ubuntu              Running             Running 2 minutes ago    

  15. 动态扩缩容(先创建一个名叫myMongo的服务)

    docker service create -p 27017:27017 myMongo mongo

  16. 将Mongo服务进行扩缩

  17. root@ubuntu:/home/hewei# docker service scale BganMongo=4
    BganMongo scaled to 4
    overall progress: 4 out of 4 tasks 
    1/4: running   [==================================================>] 
    2/4: running   [==================================================>] 
    3/4: running   [==================================================>] 
    4/4: running   [==================================================>] 
    verify: Service converged 
    

  18.  查看结果

  19. root@ubuntu:/home/hewei# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
    1936f15d9e87        mongo:latest        "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        27017/tcp                           BganMongo.2.9u79puaewup9xz6v3lyxaz3e4
    332c05e748a7        mongo:latest        "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        27017/tcp                           BganMongo.3.37nv1sxrmqbaogks8e7geme6o
    629458d62c38        mongo:latest        "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        27017/tcp                           BganMongo.4.vbejjwuqn49vbof05bwxc926u
    0f5557f58c11        mongo:latest        "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        27017/tcp    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值