初始化swarm manager并制定网卡地址
docker swarm init --advertise-addr 192.168.10.117

强制删除集群
docker swarm leave --force #退出集群,如果是manager,需要加–force
docker node rm docker-118 在manager中删除已近退出的集群

查看swarm worker的连接令牌,添加到集群作为worker
docker swarm join-token worker

查看swarm manager的连接令牌,,添加到集群作为manager
docker swarm join-token manager

使旧令牌无效并生成新令牌
docker swarm join-token --rotate

加入docker swarm集群
docker swarm join --token SWMTKN-1-5d2ipwo8jqdsiesv6ixze20w2toclys76gyu4zdoiaf038voxj-8sbxe79rx5qt14ol14gxxa3wf 192.168.10.117:2377

查看集群中的节点
docker node ls

查看集群中节点信息
docker node inspect docker-117 --pretty

调度程序可以将任务分配给节点
docker node update --availability active docker-118

调度程序不向节点分配新任务,但是现有任务仍然保持运行
docker node update --availability pause docker-118

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

添加节点标签
docker node update --label-add label1 --label-add bar=label2 docker-117

删除节点标签
docker node update --label-rm label1 docker-117

将节点升级为manager
docker node promote docker-118

将节点降级为worker
docker node demote docker-118

查看服务列表
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 3 -p 80:80 nginx

为指定的服务更新一个端口
docker service update --publish-add 80:80 my_web

为指定的服务删除一个端口
docker service update --publish-rm 80:80 my_web

改变运行的服务的个数
docker service scale my_web=3

将redis:3.0.6更新至redis:3.0.7
docker service update --image redis:3.0.7 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=8080,published=8080 tomcat:latest

创建一个overlay网络
docker network create --driver overlay my_network
docker network create --driver overlay --subnet 10.10.10.0/24 --gateway 10.10.10.1 my-network

docker network ls

创建服务并将网络添加至该服务
docker service create --name test --replicas 3 --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 2 --reserve-memory 512m --replicas 3 nginx

更改所分配的cpu和内存
docker service update --reserve-cpu 1 --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 3 --update-delay 10s --update-parallelism 1 --update-monitor 30s --update-failure-action pause --update-max-failure-ratio 0.1 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.36

回滚至之前版本
docker service update --rollback mysql

自动回滚
如果服务部署失败,则每次回滚2个任务,监控20秒,回滚可接受失败率20%
docker service create --name redis --replicas 6 --rollback-parallelism 2 --rollback-monitor 20s --rollback-max-failure-ratio .2 redis:latest

创建服务并将目录挂在至container中
docker service create --name mysql --publish 3306:3306 --mount type=bind,src=/data/mysql,dst=/var/lib/mysql --replicas 3 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.36

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 80:80 --replicas 3 --config src=homepage,target=/usr/share/nginx/html/index.html nginx

Docker Swarm的命令的更多相关文章

  1. Docker(二十二)-Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  2. Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  3. Docker Swarm 常用命令

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

  4. docker swarm学习命令

    引用自:https://blog.csdn.net/wanglei_storage/article/details/77508620 引用自:https://www.cnblogs.com/wj563 ...

  5. (转) Docker swarm - 使用体验 1+2

    背景 凭借敏捷开发部署理念的推行,相信对于很多人来说docker这项容器技术已经并不陌生,Docker 1.12引擎发布了快两个月,新引擎中包含了许多特性.诸如: Swarm模式,容器集群的健康检查, ...

  6. Docker 三剑客之 Docker Swarm

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

  7. 分享:docker swarm集群搭建

    [Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu.   网上有用docker-machine创建虚拟机做的例子.   这里直接用VMware创建这三台虚拟机,然后用xshell连 ...

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

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

  9. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥

    Lock your swarm to protect its encryption key上锁你的集群来保护你的加密密钥 在Docker 1.13及更高版本中,默认情况下,群管理器使用的Raft日志在 ...

随机推荐

  1. 计算机网络之网络层路由选择协议(自治系统AS、RIP、OSPF、BGP)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105313629 学习课程:<2019王道考研计算机网络> 学习目的 ...

  2. 创建线程 出现SIGSEGV crash

    在Opwrt平台上测试ok的一个网络传输延时测试demo程序移植到Android平台后,运行出现莫名其妙的SIGSEGV crash. 仔细检查过源码,特别是指针等后未发现问题. --------- ...

  3. 理解前端blob和ArrayBuffer,前端接受文件损坏的问题

    1 downloadTemplate().then(res =>{ 2 3 const data = res.data 4 const url = window.URL.createObject ...

  4. Vue 基础自查——watch、computed和methods的区别

    1 前言 创建一个Vue实例时,可以传入一个选项对象 const vm = new Vue({ data: { msg: 'hello' }, computed: {}, methods: {}, w ...

  5. 刷题日记-JZ25合并有序链表

    合并有序链表 递归方式合并链表pHead1,pHead2 base case是 pHead1为空或者pHead2为空 递归方式是 如果pHead1->val < pHead2->va ...

  6. JMeter跨线程组保持登录(多线程组共享cookie)

    使用__setProperty设置全局变量: 1.jmeter中创建一个登录请求,然后执行,察看结果树-->查看返回cookie信息,我的是在Response data中的 Response h ...

  7. loadrunner奇怪问题解决:TPS中有Action_Transaction 和 vuser_init_Transaction

    TPS图里多出两条曲线:Action_Transaction 和 vuser_init_Transaction 如下图: 解决方法: Runtime-Settings-Miscellaneous--A ...

  8. JSON Parse error: Unexpected identifier "object";stringToAnyType报错 uni-app

    只限于uni 的局限问题,博主的报错是因为初始化某些关键数据在uni的  onLoad生命周期  和  onReady生命周期里面初始化,导致数据加载时出现个别报错的BUG JSON Parse er ...

  9. redis异常:(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.

    (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on d ...

  10. C# for Beginner Part 21 to 30

    Part 21 Inheritance in c# Why Inheritance Pillars(支架) of Object Oriented Programming 1,Inheritance(继 ...