初始化swarm manager并制定网卡地址

docker swarm init --advertise-addr 192.168.10.117

强制删除集群,如果是manager,需要加–force

docker swarm leave --force
docker node rm docker-

查看swarm worker的连接令牌

docker swarm join-token worker

查看swarm manager的连接令牌

docker swarm join-token manager

使旧令牌无效并生成新令牌

docker swarm join-token --rotate

加入docker swarm集群

docker swarm join --token SWMTKN--5d2ipwo8jqdsiesv6ixze20w2toclys76gyu4zdoiaf038voxj-8sbxe79rx5qt14ol14gxxa3wf 192.168.10.117:

查看集群中的节点

docker node ls

查看集群中节点信息

docker node inspect docker- --pretty

调度程序可以将任务分配给节点

docker node update --availability active docker-

调度程序不向节点分配新任务,但是现有任务仍然保持运行

docker node update --availability pause docker-

调度程序不会将新任务分配给节点。调度程序关闭任何现有任务并在可用节点上安排它们

docker node update --availability drain docker-

添加节点标签

docker node update --label-add label1 --label-add bar=label2 docker-

删除节点标签

docker node update --label-rm label1 docker-

将节点升级为manager

docker node promote docker-

将节点降级为worker

docker node demote docker-

查看服务列表

docker service ls

查看服务的具体信息

docker service ps redis

创建一个不定义name,不定义replicas的服务

docker service create nginx

创建一个指定name的服务

docker service create --name my_web nginx

创建一个指定name、run cmd的服务

docker service create --name helloworld alping ping docker.com

创建一个指定name、version、run cmd的服务

docker service create --name helloworld alping:3.6 ping docker.com

创建一个指定name、port、replicas的服务

docker service create --name my_web --replicas  -p : nginx

为指定的服务更新一个端口

docker service update --publish-add : my_web

为指定的服务删除一个端口

docker service update --publish-rm : my_web

将redis:3.0.6更新至redis:3.0.7

docker service update --image redis:3.0. redis

配置运行环境,指定工作目录及环境变量

docker service create --name helloworld --env MYVAR=myvalue --workdir /tmp --user my_user alping ping docker.com

创建一个helloworld的服务

docker service create --name helloworld alpine ping docker.com

更新helloworld服务的运行命令

docker service update --args “ping www.baidu.com” helloworld

删除一个服务

docker service rm my_web

在每个群组节点上运行web服务

docker service create --name tomcat --mode global --publish mode=host,target=,published= tomcat:latest

创建一个overlay网络

docker network create --driver overlay my_network
docker network create --driver overlay --subnet 10.10.10.0/ --gateway 10.10.10.1 my-network

创建服务并将网络添加至该服务

docker service create --name test --replicas  --network my-network redis

删除群组网络

docker service update --network-rm my-network test
更新群组网络

docker service update --network-add my_network test

创建群组并配置cpu和内存

docker service create --name my_nginx --reserve-cpu  --reserve-memory 512m --replicas  nginx

更改所分配的cpu和内存

docker service update --reserve-cpu  --reserve-memory 256m my_nginx

指定每次更新的容器数量

--update-parallelism

指定容器更新的间隔

--update-delay

定义容器启动后监控失败的持续时间

--update-monitor 

定义容器失败的百分比

--update-max-failure-ratio

定义容器启动失败之后所执行的动作

--update-failure-action

创建一个服务并运行3个副本,同步延迟10秒,10%任务失败则暂停

docker service create --name mysql_5_6_36 --replicas  --update-delay 10s --update-parallelism  --update-monitor 30s --update-failure-action pause --update-max-failure-ratio 0.1 -e MYSQL_ROOT_PASSWORD= mysql:5.6.

回滚至之前版本

docker service update --rollback mysql

自动回滚

如果服务部署失败,则每次回滚2个任务,监控20秒,回滚可接受失败率20%

docker service create --name redis --replicas  --rollback-parallelism  --rollback-monitor 20s --rollback-max-failure-ratio . redis:latest

创建服务并将目录挂在至container中

docker service create --name mysql --publish : --mount type=bind,src=/data/mysql,dst=/var/lib/mysql --replicas  -e MYSQL_ROOT_PASSWORD= mysql:5.6.

Bind带来的风险

1、绑定的主机路径必须存在于每个集群节点上,否则会有问题
2、调度程序可能会在任何时候重新安排运行服务容器,如果目标节点主机变得不健康或无法访问
3、主机绑定数据不可移植,当你绑定安装时,不能保证你的应用程序开发方式与生产中的运行方式相同

添加swarm配置

echo "this is a mysql config" | docker config create mysql -

查看配置

docker config ls

查看配置详细信息

docker config inspect mysql

删除配置

docker config rm mysql

添加配置

docker service update --config-add mysql mysql

删除配置

docker service update --config-rm mysql mysql

添加配置

docker config create homepage index.html

启动容器的同时添加配置

docker service create --name nginx --publish : --replicas  --config src=homepage,target=/usr/share/nginx/html/index.html nginx 

---------------------
作者:亦非我所愿丶
来源:CSDN
原文:https://blog.csdn.net/wanglei_storage/article/details/77508620
版权声明:本文为博主原创文章,转载请附上博文链接!

docker swarm 命令的更多相关文章

  1. Docker(六):Docker 三剑客之 Docker Swarm

    实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择 ...

  2. docker~swarm搭建docker高可用集群

    回到目录 Swarm概念 Swarm是Docker公司推出的用来管理docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机.Swarm使用标准的Docker API接口作为其前端访问入 ...

  3. docker swarm 搭建与服务更新

    一,docker swarm 是什么 Docker Swarm.Docker Machine与Docker Compose号称Docker三剑客Docker Swarm 和 Docker Compos ...

  4. docker swarm(当前官网示例)

    介绍 Docker Swarm 是 Docker 公司推出的官方容器集群平台,基于 Go 语言实现 作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API.各种 ...

  5. docker swarm 搭建及跨主机网络互连案例分析

    准备工作 安装docker,不建议直接使用Docker官方的yum install docker wget http://yum.dockerproject.org/repo/main/centos/ ...

  6. Docker Swarm 让你事半功倍

    2016 年 DockerCon (天啊……我多么希望我当时在场)上展示的最重大的变革之一就是 1.12 版本引擎的 Swarm 模式.它意味着什么呢?它意味着:如果你在运行 Docker 1.12时 ...

  7. docker Swarm mode集群

    基本概念 Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具. 使用 Swarm 集群之前需要了解以下几个概念. 节点 运行 Docker 的主机可以主动 ...

  8. Docker Swarm 资源管理

    Docker Swarm Docker Swarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Docker官方对容 ...

  9. Docker Swarm 常用命令

    # 管理配置文件 docker config     # 查看已创建配置文件     - docker config ls     # 将已有配置文件添加到docker配置文件中     - dock ...

随机推荐

  1. 学习 Python 编程的 19 个资源 (转)

    学习 Python 编程的 19 个资源 2018-01-07 数据与算法之美 编译:wzhvictor,英文:codecondo segmentfault.com/a/119000000418731 ...

  2. C_FD_PhysRDBMSKinds

    C_FD_PhysRDBMSKinds function DateValueToFDSQLStringProc(ADataSet: TDataSet; AValue: Variant): String ...

  3. malloc()与calloc区别 (转)

    另外说明: 1.分配内存空间函数malloc 调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域.函数的 ...

  4. Elasticsearch学习系列之term和match查询实例

    Elasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为boo ...

  5. 在MyEclipse中用debug调试应用程序

    F5:单步测试,作用是跳入,比如说一大步中分为10小步,单击F5一次就会走完一小步,走完这一大步则需要单步10次.F6:与F5一样也是单步测试.只不过与F5不同的是F5追求的是过程,而F6追求的是结果 ...

  6. Dev的双击Gridview的DoubleClick

    注意: 是GridView的Double而不是GridControlprivate void gridView1_DoubleClick(object sender, EventArgs e){    ...

  7. 自学安卓开发篇——day01

    第一次自学安卓开发,首先从开发环境的配置说起,目前安卓开发主要用到的开发环境是Android Studio和Eclipse+ADT,由于我自己的笔记本配置比较低,而studio对电脑的配置要求比较高, ...

  8. Slim安装以及使用【转】

    最近在用backbone.js 做东西,因为牵扯到REST services 所以需要后台支持,此处选择了php.Slim 是php的一个框架. 貌似国内文章对此的介绍比较少,在安装Slim的过程中出 ...

  9. hdu3999-The order of a Tree (二叉树的先序遍历)

    http://acm.hdu.edu.cn/showproblem.php?pid=3999 The order of a Tree Time Limit: 2000/1000 MS (Java/Ot ...

  10. JS中的函数声明和函数表达式的区别,即function(){}和var function(){},以及变量提升、作用域和作用域链

    一.前言 Uncaught TypeError: ... is not a function function max(){}表示函数声明,可以放在代码的任何位置,也可以在任何地方成功调用: var ...