命令
一、docker info
docker info
可以查看我们的 docker engine
有没有激活 swarm
模式,默认是没有的。我们会看到
Swarm: inactive
激活 swarm
, 有两个方法:
-
初始化一个
swarm
集群,自己成为manager
-
加入一个已经存在的
swarm
集群
二、docker swarm init
docker swarm init
初始化一个 swarm
集群,自己成为 manager
。
docker swarm init
背后发生了什么?
-
主要是
PKI
和安全相关的自动化。-
创建
swarm
集群的根证书 -
manager
节点的证书 -
其他节点加入集群需要的
tokens
-
-
创建
Raft
数据库用于存储证书,配置,密码等数据
三、docker node ls
docker node ls
查看当前 swarm
集群下所有 的节点。
四、docker swarm join --token xxx IP
docker swarm join --token xxx IP
其他节点加入到当前集群的方式
docker swarm join --token [Token] <manager-ip>:<manager-port>
五、docker swarm leave
docker swarm leave
当前节点退出集群
5.1 docker swarm leave --force
docker swarm leave --force
强制当前节点退出集群。
六、docker service
6.1 docker service ls
docker service ls
6.2 docker service ps [容器ID/名称]
docker service ps [容器ID/名称]
docker service ls
docker service ps [基于 docker service ls 获得的容器服务ID 或名称]
6.4 docker service create [镜像:Tag]
docker service create [镜像:Tag]
docker service create nginx:latest
docker service ls
docker service ps [基于 docker service ls 获得的容器服务ID 或名称]
6.5 docker service update [容器ID/名称] --replicas xx
docker service update [容器ID/名称] --replicas xx
横向扩展容器
docker service ls
docker service ps [基于 docker service ls 获得的容器服务ID 或名称]
docker service update [基于 docker service ls 获得的容器服务ID 或名称] --replicas 3
6.6 docker service rm [容器ID/名称]
docker service rm [容器ID/名称]
docker service ls
docker service ps [基于 docker service ls 获得的容器服务ID 或名称]
docker service rm [基于 docker service ls 获得的容器服务ID 或名称]
6.7 docker service create --name xxx -p zzzz:uu --replicas yy [镜像:Tag]
docker service create --name xxx -p zzzz:uu --replicas yy [镜像:Tag]
6.8 docker service scale [容器服务ID/名称]=xx
docker service scale [容器服务ID/名称]=xx
水平扩展容器服务
docker service ls
docker service ps [基于 docker service ls 获得的容器服务ID 或名称]
docker service scale [基于 docker service ls 获得的容器服务ID 或名称]=3
6.9 docker service create --name xxx -p zzzz:uu --replicas yy --restart-condition [重启策略] [镜像:Tag]
docker service create --name xxx -p zzzz:uu --replicas yy --restart-condition [重启策略] [镜像:Tag]
启动服务,并且自定义重启策略。可以通过 --restart-condition
参数设置重启策略,例如:
-
none
:不重启容器。 -
on-failure
:仅在容器失败退出时重启。 -
any
:无论容器因何原因退出都重启。
docker service create --name my_service --replicas 3 --restart-condition on-failure my_image
七、docker service logs
docker service logs
7.1 docker service logs [容器服务ID/名称]
7.2 docker service logs -f [容器服务ID/名称]
docker service logs -f [容器服务ID/名称]
用于实时查看日志