Docker Swarm的命令
初始化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的命令的更多相关文章
- Docker(二十二)-Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker Swarm 常用命令
# 管理配置文件 docker config # 查看已创建配置文件 - docker config ls # 将已有配置文件添加到docker配置文件中 - dock ...
- docker swarm学习命令
引用自:https://blog.csdn.net/wanglei_storage/article/details/77508620 引用自:https://www.cnblogs.com/wj563 ...
- (转) Docker swarm - 使用体验 1+2
背景 凭借敏捷开发部署理念的推行,相信对于很多人来说docker这项容器技术已经并不陌生,Docker 1.12引擎发布了快两个月,新引擎中包含了许多特性.诸如: Swarm模式,容器集群的健康检查, ...
- Docker 三剑客之 Docker Swarm
上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...
- 分享:docker swarm集群搭建
[Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu. 网上有用docker-machine创建虚拟机做的例子. 这里直接用VMware创建这三台虚拟机,然后用xshell连 ...
- Docker(六):Docker 三剑客之 Docker Swarm
实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择 ...
- docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥
Lock your swarm to protect its encryption key上锁你的集群来保护你的加密密钥 在Docker 1.13及更高版本中,默认情况下,群管理器使用的Raft日志在 ...
随机推荐
- Shell脚本学习笔记之(自动填充函数模板)
其实,vii 就是写的一个脚本,跟 vi 没半毛钱关系,只不过借用一下这个名字而已.那这个脚本长什么样呢?look: 下面来详细的解析上面的代码,来看第1行: #!/bin/bash 这是Shell脚 ...
- 记一次 .NET 某风控管理系统 内存泄漏分析
一:背景 1. 讲故事 上个月中旬,星球里的一位朋友在微信找我,说他的程序跑着跑着内存会不断的缓慢增长并无法释放,寻求如何解决 ? 得,看样子星球还得好好弄!!! 不管怎么说,先上 windbg 说话 ...
- Linux的inode与block
1,inode包含文件的元信息,具体来说有以下内容: 文件的字节数 文件拥有者的User ID 文件的Group ID 文件的读.写.执行权限 文件的时间戳,共有三个:ctime指inode上次文件属 ...
- native连接远程mysql数据库
1.环境 CentOS7.mysqld 8.0.19 2.登录数据库 #mysql -u root -p 2.修改root登录地址为%(任何IP) mysql> update user set ...
- Hive计算最大连续登陆天数
目录 一.背景 二.算法 1. 第一步:排序 2. 第二步:第二列与第三列做日期差值 3. 第三步:按第二列分组求和 4. 第四步:求最大次数 三.扩展(股票最大涨停天数) 强哥说他发现了财富密码,最 ...
- 2020美亚团体—Daniel篇
Daniel的桌上计算机的哈希值(SHA-256)是甚么? 通过取证大师计算 SHA-256值为 07DD40CF28603F421F3A09CD38F1C8AA40A2AC4BFB46ECF8299 ...
- VSCode 微信小程序 开发环境配置 详细教程
本博客已暂停更新,需要请转新博客http://www.whbwiki.com/231.html 配置 VsCode 微信小程序开发环境并非不用官方的 微信小程序开发者工具 ,而是两者配合适用,可以极大 ...
- 【死磕 NIO】— Proactor模式是什么?很牛逼吗?
大家好,我是大明哥. 上篇文章我们分析了高性能 IO模型Reactor模式,了解了什么是Reactor 模式以及它的三种常见的模式,这篇文章,大明再介绍另外一种高性能IO模型: Proactor. 为 ...
- 自定义 axios
自定义 axios function axios({ url, method = 'GET', params = {}, data = {} }) { // 返回一个 promise 对象 retur ...
- easyui comboBox的多选框之疑难杂症——逗号篇
提笔写正文之前,首先要再次提醒一下自己,因为总是记不住,以至大神同事们都开始用"嫌弃"的眼光看自己了-- 记得使用easyui中的combobox吗?效果是酱紫滴: ...