swarm 是 docker 公司弄的 docker 集群管理工具。  整理使用实践如下。

1. 准备 3 台实例机   ip 地址分别是 192.168.0.131    ~   133
2. 在三台机器上安装   docker  和 修改 docker 启动文件  配置  vim /etc/sysconfig/docker  加入 -H tcp://0.0.0.0:2375  
    OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'
3. 三台机器启动  docker    分别  docker pull swarm
4.  创建 swarm 集群

-- 创建 swarm
docker swarm init --advertise-addr 192.168.182.110
返回:  SWMTKN-1-16izmwyfwxhok9lgoq8idlefumipgq2y7iv2pjja6zf53epaya-0cqbeordfj92bj86prcajmft3
--另外俩台机器加入 集群

docker swarm join \
--token SWMTKN-1-16izmwyfwxhok9lgoq8idlefumipgq2y7iv2pjja6zf53epaya-0cqbeordfj92bj86prcajmft3 \
192.168.0.131:2377

可以用以下命令查看 swarm集群的信息:

docker node list
docker network ls ()默认一个公用网络名称 ingress
docker service ls

5. 创建服务 
docker service create --replicas 2 --name mynginx_swarm -p 8000:80 --network=ingress nginx

-- 调整 replicas 数量

docker service scale hpuwfzb963yy=3 或 docker service scale mynginx_swarm =3
-- 查看服务 
docker service ps mynginx_swarm 或 docker service ps hpuwfzb963yy

--删除服务,慎用
docker service rm mynginx_swarm

6.滚动更新实践

创建一个 redis服务练手
docker service create \
--replicas 3 \
--name redis \
--update-delay 10s \
redis:3.0.6

--update-delay 是一个设置, 在后续的更新过程中,每个 replica 更新间隔 10 秒

2.开始更新
docker service update --image redis:3.0.7 redis

--暂停一个节点的服务
docker node update --availability drain worker1
worker1 是节点名, 节点id

--查看服务
docker service inspect --pretty mynginx_swarm
docker service inspect mynginx_swarm

参考:
http://www.runoob.com/docker/docker-install-nginx.html
https://www.jianshu.com/p/0e231a928ee6
http://dockone.io/article/227
https://www.cnblogs.com/liuyansheng/p/8178341.html
https://blog.csdn.net/u011781521/article/details/80468985 (主要)
https://docs.docker.com/swarm/ (字典)

swarm 使用整理的更多相关文章

  1. Docker 三剑客之 Docker Swarm

    上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...

  2. Docker 小记 — Compose & Swarm

    前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此.大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性.本篇随笔将对 Docker ...

  3. centos7 部署 docker swarm

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  4. [原创]Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程

    网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清 ...

  5. DevOps开源工具的三种分类整理

    原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,De ...

  6. docker swarm和compose 的使用(阿里)

    基本的docker使用参考:Docker 入门 到部署Web 程序- (阿里面试常用的docker命令和优点) 昨天去阿里面试 问我如果给你5台服务器 如何部署docker,我说一个个拷贝,面试官听了 ...

  7. 094、Swarm 中最重要的概念(Swarm01)

    参考https://www.cnblogs.com/CloudMan6/p/7845365.html   从主机层面来看,Docker Swarm 管理的是 Docker Host 集群.所以先来讨论 ...

  8. paper 15 :整理的CV代码合集

    这篇blog,原来是西弗吉利亚大学的Li xin整理的,CV代码相当的全,不知道要经过多长时间的积累才会有这么丰富的资源,在此谢谢LI Xin .我现在分享给大家,希望可以共同进步!还有,我需要说一下 ...

  9. docker swarm搭建tidb踩坑日记

    背景 公司新项目数据量翻了一倍,每天上亿数据量的读写,传统的单库单表已经满足不了目前的需求,得考虑下分布式存储了.那用啥呢,之前有考虑用到mycat,但是一进官网,一股山寨气息扑面而来,技术群进群还收 ...

随机推荐

  1. 操作redis

    数据库分为: 1)传统的关系型数据库 mysql.oracle.sql server.sqllie.db2 id name passwd cratetime stu 特点: a 数据存在磁盘上 b 使 ...

  2. 《视觉SLAM十四讲课后作业》第一讲

    1. 如何在 Ubuntu 中安装软件(命令⾏界⾯)?它们通常被安装在什么地⽅? 答:一般有两种安装方式(1)apt-get install (2)dpkg -i package.deb.系统软件一般 ...

  3. MTK(android init.rc) 写一个开机启动的服务

    在开机往往我们想要做一些初始化的操作,这时候可以使用init.rc文件来实现,当然书写一个开机启动的服务也需要规范的. 假设是C程序,则需要准备C程序的源码,在我的例程中是一个在开机完成(androi ...

  4. shell 构建脚本基础

    bash -v test.sh 启用 verbose 调试模式 bash -n test.sh  启用语法检查调试模式 bash -x test.sh  遍历脚本执行过程 一.基础参数 1.shell ...

  5. 【题解】Luogu P3674 小清新人渣的本愿

    原题传送门 这题还算简单(我记得我刚学oi时就来写这题,然后暴力都爆零了) 看见无修改,那么这题应该是莫队 维护两个bitset,第二个是第一个的反串,bitset内维护每个数字是否出现过 第一种操作 ...

  6. ARDUINO入门按键通信试验

    1.1按键实验 1.需要学习的知识: 1) Arduino 的输入口配置方法,配置函数的用法 通过pinMode()函数,可以将ADUINO的引脚配置(INPUT)输入模式 2) 搞懂什么是抖动 机械 ...

  7. 关于js中的类式继承

    ; }; ,,]; }; ); ; }; //子类 function Bb(){ }; var F=new f(); F.prototype=Aa.prototype;//此处只能传递方法,没有办法传 ...

  8. VMware15 安装centos7标准板

    VM主页——>创建虚拟机——>典型——>下一步: 选择安装安装操作系统,进入选择客户机操作系统界面 选择Linux  版本centos7 64位: 下一步——>填写虚拟机名称, ...

  9. 剑指offer 10:矩形覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? public class Solution { public ...

  10. JavaScript形而上的For循环中的Break

    break相当于循环中的GOTO,需避免使用. 下面是一个break使用例子. 找出第一个months小于7的项目. const cats = [ { name: 'Mojo', months: 84 ...