Docker三剑客之swarm

简介

  swarm是一种docker集群管理工具,跟三剑客前两者不同的是;compose是一种统一编排的工具,machine是一种远程控制工具,swarm则是将多个docker主机映射成一个docker集群,进行管理;swarm通过CLI创建管理集群,当应用程序部署到swarm集群时,swarm集群对其进行管理。

swarm先决条件

  • 三台以上互通的机器,可以是Linux或者mac os或者windows
  • 安装docker引擎
  • 配置好machine管理
  • 开放指定的端口(2377、7946、4789)

基础命令

docker swarm init:初始化集群;可加入autolock设置集群锁,设定集群锁之后管理节点每次重启必须输入密码
docker swarm join:加入到集群
docker swarm ca:查看管理节点的证书信息,必须是管理节点运行此命令
docker swarm join-token:管理连接令牌
docker swarm leave:强行离开集群,忽略警告
docker swarm unlock:解锁群
docker swarm unlock-key:解除群锁
docker swarm update:更新群内容

docker service create:创建一个服务
docker service rm :删除一个服务
docker service ps :查看一个服务状态
docker service logs:查看一个服务的运行日志
docker service ls:查看存在的服务
docker service inspect:查看指定服务的详情
docker service scale:服务数目的动态调整
docker service update:更新服务

docker node demote:将一个或多个指定的管理节点降为工作节点
docker node inspect:显示指定的节点详情
docker node ls:查看集群状态
docker node promote:将一个或多个指定的节点提升为管理节点
docker node ps :列出一个或多个节点上运行的任务,默认为当前节点
docker node rm :从集群中删除一个指定节点
docker node update:更新有关节点的元数据

docker secret create:创建一个加密密码
docker secret inspect:查看指定加密密码详情
docker secret ls:查看已有的加密密码
docker secret rm:删除一个指定的加密密码

实例

manager:docker swarm init --advertise-addr x.x.x.x
worker1:docker swarm join--token xx..x x.x.x.x:2377
worker2:docker swarm join--token xx..x x.x.x.x:2377

docker service create --replicas 1 --update-delay 10s --name helloworld alpine ping docker.com
  --name:指定服务运行的名称
  --replicas:指定运行的实例数
  --update-delay:设定多个容器之间的创建间隔时间
  --publish-add:添加随机映射端口
  --publish-rm:删除随意
  --env <value>=<str>:设定容器的环境变量
  --workdir <directory>:设定容器的运行目录
  --user <user>:指定容器的运行用户
  --args <commond>:更新现有运行的命令
  alpine:表示底层镜像
  ping docker.com:表示镜像启动后执行的内容

docker service inspect <SERVICE-ID>
  --pretty:友好的格式打印信息

参考地址:

  • https://cloud.tencent.com/developer/section/1091937
  • https://docs.docker.com
  • https://yeasy.gitbooks.io/docker_practice/content/swarm_mode/rolling_update.html
原文地址:https://www.cnblogs.com/guge-94/p/11128745.html