ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker之swarm

2020-01-11 16:43:08  阅读:420  来源: 互联网

标签:服务 service swarm 集群 docker 节点


docker swarm

介绍

  • 吧多个Docker Engine聚集在一起,然后对外提供容器的集群服务
  • 将一群Docker宿主机变成一个单一的蓄虚拟主机
  • Swarm deamon只是一个调度器加路由器,自己不运行容器,只接受docker客户端发送过来的请求,调度适合的节点来运行容器

特点

  • 对外以Docker api接口呈现,从单机到集群就比较方便,不需要改变现有系统
  • 插件化机制,各个模块都抽象出api,可以进行定制
  • Swarm对Docker命令参数支持的比较完善.

架构

在这里插入图片描述

使用

环境准备

  • 准备三台安装了docker engine的主机,版本在1.12以上
  • docker容器主机的ip固定,所有工作节点都能访问管理节点
  • 集群管理节点必须使用相应的协议并保证端口可用
    • 集群管理:TCP,端口2377
    • 节点通信:TCP和UDP,端口7946
    • 覆盖性网络:UDP,端口4789,overlay驱动
  • 说明
    • 192.168.200.162(管理节点):manager1
    • 192.168.200.163(工作节点):work1
    • 192.168.200.158(工作节点):work2

创建docker sware

  • 在manager1机器上创建docker swarm集群

docker swarm init --advertise - addr 192.168.200.138
–advertise - addr将该ip地址的及其设置为集群管理节点,单节点不用这个参数

  • 查看管理节点集群信息

docker node ls

添加工作节点

  • 在两个工作节点分别使用下面命令

docker swarm join --token xxx 192.168.200.138:2377
–token xxx想指定集群加入工作节点的认证信息,xxx是出那个创建docker swarm时产生的

  • 查看集群信息节点

docker node ls

在docker sware中部署服务

  • 部署服务

docker service create --replicas 1 --name helloworld alpine ping docker.com
docker service create:在swarm集群创建一个基于alpine镜像的服务
–replicas:指定该服务只有一个副本实例
–name:创建成功后服务名称
ping docker.com:表示服务启动后执行的命令

查案docker swarm集群的服务

  • 查看服务列表

docker service ls

  • 查看部署具体服务的详细信息

docker service inspect 服务名

  • 查看服务在集群节点上的分配和运行情况

docker service ps 服务名称

修改副本数量

  • 在manage1上,更改服务副本的数量

docker service scale helloworld=5

删除服务(在管理节点)

docker service rm 服务名称

访问服务

  • 查看集群环境下的网络列表

docker network ls

  • 在manager1上创建1overlay为驱动的网络

docker network create -的=overlay my-multi-host-network

  • 在集群管理节点部署一个nginx服务

docker service create --network my-multi-host-network --name my-web -p 8080:80 --replicas 2

  • 在管理节点查案服务的㛙情况

docker service ps my-web

假装自己不胖 发布了100 篇原创文章 · 获赞 12 · 访问量 642 私信 关注

标签:服务,service,swarm,集群,docker,节点
来源: https://blog.csdn.net/weixin_42672777/article/details/103937878

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有