1. 简介

Docker Swarm 是Docker的集群管理工具,简单方便、易于上手。

Swarm集群由以下两个组件构成:

  • Mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作
  • Worker:主要负责运行相应的服务来执行任务(task)

2. 部署

准备两台server,分别是:192.168.44.141(Manager)、192.168.44.140(Worker)。

  • 初始化Manager
# docker swarm init --advertise-addr 192.168.44.141
Swarm initialized: current node (zm7q1dewfj6tqo4way3f497ky) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-0671cw61lnf0xuf8gftx7pnapirf8pk20dv9rr3k9fo7kuti76-8micra51k1rolbjcx47i2vd4v 192.168.44.141:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  • 加入Worker
# docker swarm join --token SWMTKN-1-0671cw61lnf0xuf8gftx7pnapirf8pk20dv9rr3k9fo7kuti76-8micra51k1rolbjcx47i2vd4v 192.168.44.141:2377
This node joined a swarm as a worker.

3. 管理

可以利用docker node实现对swarm节点的管理

  • 查看帮助
# docker node --helpUsage:  docker node COMMANDManage Swarm nodesCommands:demote      Demote one or more nodes from manager in the swarminspect     Display detailed information on one or more nodesls          List nodes in the swarmpromote     Promote one or more nodes to manager in the swarmps          List tasks running on one or more nodes, defaults to current noderm          Remove one or more nodes from the swarmupdate      Update a node
  • Manager上查看node信息
# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
zm7q1dewfj6tqo4way3f497ky *   master              Ready               Active              Leader              19.03.12
eg2en2llac0g4cd17xqoweufz     node1               Ready               Active                                  18.06.3-ce

4. 服务

可以利用docker service实现对swarm服务的管理

  • 查看帮助
# docker service --helpUsage:  docker service COMMANDManage servicesCommands:create      Create a new serviceinspect     Display detailed information on one or more serviceslogs        Fetch the logs of a service or taskls          List servicesps          List the tasks of one or more servicesrm          Remove one or more servicesrollback    Revert changes to a service's configurationscale       Scale one or multiple replicated servicesupdate      Update a service
  • 创建服务
# docker service create --replicas 1 -p80:80 --name=myngx nginx
n3q3hjn69isu2b0cp6lrmmp58
overall progress: 1 out of 1 tasks
1/1: running   [==================================================>]
verify: Service converged
  • 列出服务
# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
n3q3hjn69isu        myngx               replicated          1/1                 nginx:latest        *:80->80/tcp
  • 删除服务
docker service rm myngx

5. 编排

可以利用docker stack将应用部署到swarm集群上

  • 查看帮助
# docker stack --helpUsage:  docker stack [OPTIONS] COMMANDManage Docker stacksOptions:--orchestrator string   Orchestrator to use (swarm|kubernetes|all)Commands:deploy      Deploy a new stack or update an existing stackls          List stacksps          List the tasks in the stackrm          Remove one or more stacksservices    List the services in the stack
  • docker-compose.yml示例
# cat docker-compose.yml
version: '3'
services:redis:image: "redis:alpine"
  • 部署
# docker stack deploy -c docker-compose.yml redis
Creating network redis_default
Creating service redis_redis
  • 查看
# docker stack ls
NAME                SERVICES            ORCHESTRATOR
redis               1                   Swarm# docker stack ps redis
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE                    ERROR               PORTS
s6oqyfb0tgf4        redis_redis.1       redis:alpine        node1               Running             Running less than a second ago# docker stack services redis
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
5x3zx5lkf20u        redis_redis         replicated          1/1                 redis:alpine
  • 删除
# docker stack rm redis
Removing service redis_redis
Removing network redis_default

Docker swarm集群管理工具相关推荐

  1. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  2. docker集群管理工具_太多选择:如何选择正确的工具来管理Docker集群

    docker集群管理工具 There are all kinds of ways to play the Docker game and, obviously, no one of them is g ...

  3. Docker Swarm集群仓库和可视化管理

    Docker Swarm集群仓库和可视化管理 1 背景 2 环境 3 安装操作 3.1 registary部署 3.1.1 下载 3.1.2 部署 3.2 portainer部署 3.2.1 下载 3 ...

  4. docker swarm集群创建、配置、可视化管理实验

    什么是docker swarm? docker swarm 是docker原生的docker群集管理.服务编排工具,以命令行的形式创建.管理群集,部署服务,详细参考https://docs.docke ...

  5. Docker Swarm 集群创建+Portainer 图形化管理实验

    目标: 使用Docker Toolbox 创建4台Docker 虚拟机,组建Docker Swarm集群,其中2台为Docker Swarm集群的Manager角色,2台为Worker角色.在集群中安 ...

  6. Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3

    Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...

  7. Docker swarm集群详解(一)

    一.简介 Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Ku ...

  8. Jenkins持续集成结合Docker Swarm集群实现Web应用部署的发布

    案列环境: 准备5台虚拟机,其中3台用于部署Docker Swarm集群,1台部署代码版本控制系统,1台部署Jenkins持续集成工具. 192.168.80.10 swarm01 192.168.8 ...

  9. ansible-playbook部署Docker Swarm集群

    通过ansible-playbook,部署Docker Swarm集群. docker安装目录: /var/lib/dockerdocker命令目录: /usr/bin/dockercompose命令 ...

最新文章

  1. 【翻译】Ext JS最新技巧——2014-8-13
  2. centos7 中文乱码问题解决方法
  3. Codeforces Round #717 (Div. 2) D. Cut 倍增
  4. java---连接池的学习
  5. linux用户和组基础
  6. unix操作系统设计高清中文
  7. python xgboost_告别无聊循环!Python帮你自动化处理文件
  8. 电脑PC端实现微信多开
  9. 爱思助手更新后无法连接服务器,爱思助手出现无法连接或连接超时的操作教程...
  10. 3.3计算机网络(ALOHA协议 CSMA协议 令牌传递协议 频分时分波分码分)
  11. getWriter()
  12. 模板设计模式的两种方式
  13. 【git】You have not concluded your merge (MERGE_HEAD exists).
  14. 有了vb.net,C#就是个鸡肋
  15. 奥巴马演讲:我们需要的变革
  16. 中关村修电脑,被坑了
  17. 2020年全省彩礼排名_2020国人彩礼地图:哪个省的彩礼最贵?
  18. PCL学习二:PCL基础应用教程
  19. Istio金丝雀发布
  20. 计算机学院毕业条幅,毕业季横幅标语60句

热门文章

  1. 共享经济跨界创新,共享办公掀起风潮
  2. 《猿族崛起》动作捕捉技术及制作流程详解
  3. P2V迁移(Centos7整机业务迁移到ESXI7.0)
  4. 英语字母c的语言教案,[小班英语教案认识字母]幼儿园小班英语教案:字母C.doc...
  5. 小sugar呀——入门——记录
  6. 清除linux挖矿木马[crypto]的过程
  7. 数学分析 曲面积分与场论初步(第22章)
  8. linux 恢复 raid5数据,Raid5数据恢复案例(raid阵列数据恢复方法)
  9. 解决navicat 导出excel id 变成 科学计数法
  10. 当贝OS版本更新:当贝智慧盒子Z1 Pro新增边看边聊,一起在线吐槽神剧