设为首页 收藏本站
查看: 1568|回复: 0

[经验分享] docker swarm 学习命令整理

[复制链接]

尚未签到

发表于 2019-2-22 08:24:34 | 显示全部楼层 |阅读模式
  Docker swarm
  初始化swarm manager并制定网卡地址
  docker swarm init --advertise-addr 192.168.10.117
  1
  强制删除集群,如果是manager,需要加–force
  docker swarm leave --force
  docker node rm docker-118
  1
  2
  查看swarm worker的连接令牌
  docker swarm join-token worker
  1
  查看swarm manager的连接令牌
  docker swarm join-token manager
  1
  使旧令牌无效并生成新令牌
  docker swarm join-token --rotate
  1
  加入docker swarm集群
  docker swarm join --token SWMTKN-1-5d2ipwo8jqdsiesv6ixze20w2toclys76gyu4zdoiaf038voxj-8sbxe79rx5qt14ol14gxxa3wf 192.168.10.117:2377
  1
  查看集群中的节点
  docker node ls
  1
  查看集群中节点信息
  docker node inspect docker-117 --pretty
  1
  调度程序可以将任务分配给节点
  docker node update --availability active docker-118
  1
  调度程序不向节点分配新任务,但是现有任务仍然保持运行
  docker node update --availability pause docker-118
  1
  调度程序不会将新任务分配给节点。调度程序关闭任何现有任务并在可用节点上安排它们
  docker node update --availability drain docker-118
  1
  添加节点标签
  docker node update --label-add label1 --label-add bar=label2 docker-117
  1
  删除节点标签
  docker node update --label-rm label1 docker-117
  1
  将节点升级为manager
  docker node promote docker-118
  1
  将节点降级为worker
  docker node demote docker-118
  1
  查看服务列表
  docker service ls
  1
  查看服务的具体信息
  docker service ps redis
  1
  创建一个不定义name,不定义replicas的服务
  docker service create nginx
  1
  创建一个指定name的服务
  docker service create --name my_web nginx
  1
  创建一个指定name、run cmd的服务
  docker service create --name helloworld alping ping docker.com
  1
  创建一个指定name、version、run cmd的服务
  docker service create --name helloworld alping:3.6 ping docker.com
  1
  创建一个指定name、port、replicas的服务
  docker service create --name my_web --replicas 3 -p 80:80 nginx
  1
  为指定的服务更新一个端口
  docker service update --publish-add 80:80 my_web
  1
  为指定的服务删除一个端口
  docker service update --publish-rm 80:80 my_web
  1
  将redis:3.0.6更新至redis:3.0.7
  docker service update --image redis:3.0.7 redis
  1
  配置运行环境,指定工作目录及环境变量
  docker service create --name helloworld --env MYVAR=myvalue --workdir /tmp --user my_user alping ping docker.com
  1
  创建一个helloworld的服务
  docker service create --name helloworld alpine ping docker.com
  1
  更新helloworld服务的运行命令
  docker service update --args “ping www.baidu.com” helloworld
  1
  删除一个服务
  docker service rm my_web
  1
  在每个群组节点上运行web服务
  docker service create --name tomcat --mode global --publish mode=host,target=8080,published=8080 tomcat:latest
  1
  创建一个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
  1
  2
  创建服务并将网络添加至该服务
  docker service create --name test --replicas 3 --network my-network redis
  1
  删除群组网络
  docker service update --network-rm my-network test
  1
  更新群组网络
  docker service update --network-add my_network test
  1
  创建群组并配置cpu和内存
  docker service create --name my_nginx --reserve-cpu 2 --reserve-memory 512m --replicas 3 nginx
  1
  更改所分配的cpu和内存
  docker service update --reserve-cpu 1 --reserve-memory 256m my_nginx
  1
  指定每次更新的容器数量
  --update-parallelism
  1
  指定容器更新的间隔
  --update-delay
  1
  定义容器启动后监控失败的持续时间
  --update-monitor
  1
  定义容器失败的百分比
  --update-max-failure-ratio
  1
  定义容器启动失败之后所执行的动作
  --update-failure-action
  1
  创建一个服务并运行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
  1
  回滚至之前版本
  docker service update --rollback mysql
  1
  自动回滚
  如果服务部署失败,则每次回滚2个任务,监控20秒,回滚可接受失败率20%
  docker service create --name redis --replicas 6 --rollback-parallelism 2 --rollback-monitor 20s --rollback-max-failure-ratio .2 redis:latest
  1
  创建服务并将目录挂在至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
  1
  Bind带来的风险
  1、绑定的主机路径必须存在于每个集群节点上,否则会有问题
  2、调度程序可能会在任何时候重新安排运行服务容器,如果目标节点主机变得不健康或无法访问
  3、主机绑定数据不可移植,当你绑定安装时,不能保证你的应用程序开发方式与生产中的运行方式相同
  添加swarm配置
  echo "this is a mysql config" | docker config create mysql -
  1
  查看配置
  docker config ls
  1
  查看配置详细信息
  docker config inspect mysql
  1
  删除配置
  docker config rm mysql
  1
  添加配置
  docker service update --config-add mysql mysql
  1
  删除配置
  docker service update --config-rm mysql mysql
  1
  添加配置
  docker config create homepage index.html
  1
  启动容器的同时添加配置
  docker service create --name nginx --publish 80:80 --replicas 3 --config src=homepage,target=/usr/share/nginx/html/index.html nginx


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675533-1-1.html 上篇帖子: Docker Swarm架构、特性与基本实践 下篇帖子: Docker基础操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表