docker swarm 学习命令整理
2017-08-23 17:19
465 查看
Docker swarm
初始化swarm manager并制定网卡地址
强制删除集群,如果是manager,需要加–force
查看swarm worker的连接令牌
查看swarm manager的连接令牌
使旧令牌无效并生成新令牌
加入docker swarm集群
查看集群中的节点
查看集群中节点信息
调度程序可以将任务分配给节点
调度程序不向节点分配新任务,但是现有任务仍然保持运行
调度程序不会将新任务分配给节点。调度程序关闭任何现有任务并在可用节点上安排它们
添加节点标签
删除节点标签
将节点升级为manager
将节点降级为worker
查看服务列表
查看服务的具体信息
创建一个不定义name,不定义replicas的服务
创建一个指定name的服务
创建一个指定name、run cmd的服务
创建一个指定name、version、run cmd的服务
创建一个指定name、port、replicas的服务
为指定的服务更新一个端口
为指定的服务删除一个端口
将redis:3.0.6更新至redis:3.0.7
配置运行环境,指定工作目录及环境变量
创建一个helloworld的服务
更新helloworld服务的运行命令
删除一个服务
在每个群组节点上运行web服务
创建一个overlay网络
创建服务并将网络添加至该服务
删除群组网络
更新群组网络
创建群组并配置cpu和内存
更改所分配的cpu和内存
指定每次更新的容器数量
指定容器更新的间隔
定义容器启动后监控失败的持续时间
定义容器失败的百分比
定义容器启动失败之后所执行的动作
创建一个服务并运行3个副本,同步延迟10秒,10%任务失败则暂停
回滚至之前版本
自动回滚
如果服务部署失败,则每次回滚2个任务,监控20秒,回滚可接受失败率20%
创建服务并将目录挂在至container中
Bind带来的风险
1、绑定的主机路径必须存在于每个集群节点上,否则会有问题
2、调度程序可能会在任何时候重新安排运行服务容器,如果目标节点主机变得不健康或无法访问
3、主机绑定数据不可移植,当你绑定安装时,不能保证你的应用程序开发方式与生产中的运行方式相同
添加swarm配置
查看配置
查看配置详细信息
删除配置
添加配置
删除配置
添加配置
启动容器的同时添加配置
2、http://www.cnblogs.com/fundebug/p/6823897.html
3、https://blog.fundebug.com/2017/05/08/docker-swarm-suggestion/
4、https://success.docker.com/Architecture/Docker_Reference_Architecture%3A_Designing_Scalable%2C_Portable_Docker_Container_Networks
初始化swarm manager并制定网卡地址
docker swarm init --advertise-addr 192.168.10.117
强制删除集群,如果是manager,需要加–force
docker swarm leave --force docker node rm docker-118
查看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-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
将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 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-monitor30s --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
swarm 文章
1、http://www.jianshu.com/p/54b1b0a098c32、http://www.cnblogs.com/fundebug/p/6823897.html
3、https://blog.fundebug.com/2017/05/08/docker-swarm-suggestion/
4、https://success.docker.com/Architecture/Docker_Reference_Architecture%3A_Designing_Scalable%2C_Portable_Docker_Container_Networks
相关文章推荐
- Docker学习笔记常用命令持续整理
- DB2-学习笔记(2)-常用命令整理
- Docker学习 ----常用操作命令大全及例子[陆续更新中...]
- 学习LINUX之常用命令整理
- Docker学习总结之Run命令介绍
- Docker学习笔记——Docker 命令指令详情
- Docker学习总结之Run命令介绍
- grep命令学习整理
- Docker 学习文档(知识结构整理)
- Docker镜像相关命令(学习笔记)
- Docker学习(1)基础命令 和 构建nginx web服务
- Docker的学习--命令使用详解
- docker学习资料整理记录
- Docker学习笔记1--常用run命令解释
- docker学习笔记二命令
- docker 命令整理
- vuex - 常用命令学习及用法整理
- [学习整理] VNC相关命令,配置gnome,以及常见错误处理
- docker学习笔记5:利用commit命令创建镜像 和 删除本地镜像
- Docker 常用命令整理及使用注意事项总结