当前位置: 首页 > news >正文

Docker swarm 常用的命令集合

#docker swarm#

# 初始化单节点Swarm
docker swarm init# 部署测试服务
docker service create --name web --publish 8080:80 --replicas 3 nginx:alpine
# Manager节点初始化(指定IP)
docker swarm init --advertise-addr 192.168.1.100# 获取加入令牌
MANAGER_TOKEN=$(docker swarm join-token -q manager)
WORKER_TOKEN=$(docker swarm join-token -q worker)# Worker节点加入
docker swarm join --token $WORKER_TOKEN 192.168.1.100:2377
# 查看节点状态
docker node ls# 提升Worker为Manager
docker node promote worker-node1# 排空节点(停止新任务分配)
docker node update --availability drain node-2
# 创建服务
docker service create \--name redis \--replicas 3 \--publish published=6379,target=6379 \--limit-cpu 1 \redis:6-alpine# 查看服务列表
docker service ls# 扩缩容服务
docker service scale redis=5# 删除服务
docker service rm redis
# 服务更新策略
docker service update \--image redis:7-alpine \--update-parallelism 2 \--update-delay 10s \--update-failure-action rollback \--rollback-parallelism 1 \--rollback-delay 5s \redis
# 每个节点运行一个监控代理
docker service create \--mode global \--name node-exporter \--mount type=bind,source=/proc,target=/host/proc \prom/node-exporter
# 创建自定义Overlay网络
docker network create -d overlay \--subnet 10.1.0.0/24 \--gateway 10.1.0.1 \--opt encrypted \my-overlay# 服务使用自定义网络
docker service create \--name api \--network my-overlay \--network ingress \--publish 8080:80 \my-api:latest
# 创建命名卷
docker volume create app-data# 服务使用卷
docker service create \--name db \--mount source=app-data,target=/var/lib/mysql \--replicas 3 \mysql:8.0
# 创建密钥
echo "db_password" | docker secret create db_pass -# 服务使用密钥
docker service create \--name db \--secret db_pass \-e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pass \mysql:8.0
# 创建配置
docker config create nginx.conf ./nginx.conf# 服务使用配置
docker service create \--name web \--config source=nginx.conf,target=/etc/nginx/nginx.conf \nginx:alpine
# 部署全局监控
docker service create --mode global \--name cadvisor \--mount type=bind,source=/,target=/rootfs,readonly=true \--mount type=bind,source=/var/run,target=/var/run \google/cadvisor:latest
# 资源限制策略
docker service create \--name api \--reserve-cpu 0.5 \--reserve-memory 256M \--limit-cpu 2 \--limit-memory 1G \my-api:v1
# 备份Swarm状态
docker swarm init --force-new-cluster --advertise-addr 192.168.1.100# 恢复节点
docker node update --availability active node-2
# 查看服务详情
docker service inspect --pretty web# 查看服务日志
docker service logs -f web# 查看容器状态
docker service ps web
# 检查网络连通性
docker exec -it <container> ping <target># 检查DNS解析
docker exec -it <container> nslookup service_name
# 查看节点详情
docker node inspect <node_id> --pretty# 检查节点资源
docker node ps <node_id>
# 创建v1版本
docker service create --name app --replicas 5 my-app:v1# 逐步替换为v2
docker service update \--image my-app:v2 \--update-parallelism 1 \--update-delay 30s \app
# 安装自动扩缩组件
docker plugin install --alias scaler docker/scale# 设置扩缩规则
docker service scale \--min 2 \--max 10 \--step 1 \--scale-on-cpu 80 \web
# .gitlab-ci.yml 示例
deploy:stage: deployscript:- docker stack deploy -c docker-compose.prod.yml myapponly:- master
http://www.lryc.cn/news/612048.html

相关文章:

  • Pipeline功能实现Redis批处理(项目批量查询点赞情况的应用)
  • 数据结构——双向链表及makefile
  • NineData 新增支持 AWS ElastiCache 复制链路
  • windows搬运文件脚本
  • 互斥锁与条件变量
  • 自然语言处理基础—(1)
  • 深入理解 C++ 中的stdpriority_queue:从原理到实战的高效优先级管理
  • ssm复习
  • 【嵌入式电机控制#26】BLDC:三相模拟采集
  • springboot项目前后端通用下载方法、问题和解决方案
  • PyTorch生成式人工智能(26)——使用PyTorch构建GPT模型
  • AVDTP Media Packet 传输全流程解析:从 SDP 到连接终止
  • 基于AntDesign二次封装table组件
  • 思途AOP学习笔记 0806
  • nginx代理出https,request.getRequestURL()得到http问题解决
  • 界面规范的其他框架实现-列表-layui实现
  • TypeError: crypto$2.getRandomValues is not a function
  • 北大、蚂蚁三个维度解构高效隐私保护机器学习:前沿进展+发展方向
  • AlexNet训练和测试CIFAR10
  • Python金融分析:从基础到量化交易的完整指南
  • 如何定位一个高并发场景下API响应时间从200ms突增到2s的问题
  • 生成模型实战 | Transformer详解与实现
  • 需求链路追踪
  • centos配置java环境变量
  • SpringCloud -- elasticsearch(二)
  • MonoFusion 与 Genie 3
  • 如何快速掌握大数据技术?大四学生用Spark和Python构建直肠癌数据分析与可视化系统
  • Apollo中三种相机外参的可视化分析
  • 「iOS」————单例与代理
  • iOS 文件管理实战指南 查看 App 数据与系统日志的完整方法