作用:搭建集群,集群的管理者 (每个服务器为一个docker,搭建多服务器集群,即管理多个docker,形成docker网络)
9.1 集群搭建命令
9.1.1 初始化节点
docker swarm init
Tip:后面的ip地址用当前初始化的服务器的ip
9.1.2 获取当前节点的token令牌
# 获取令牌
docker swarm join-token manager
docker swarm join-token worker
9.1.3 当前节点加入集群
docker swarm join --token xxxxx
9.1.4 查看集群中的节点信息
# 只有在manage中可以查看
docker node ls
9.2 Raft协议
Raft协议: 保证大多数节点存活才可以用。 只要>1 ,集群至少大于3台!
十分简单:集群,可用! 3个主节点。 > 1 台管理节点存活!
9.3 命令
以后告别 docker run!
单机:docker-compose up
集群:docker serivce
9.3.1 创建容器
# 集群方式创建容器(集群中任意一台机器起该容器)
docker service create -p 外界端口:内部端口 --name 自定义名 nginx
9.3.2 动态扩缩容
写法1:
docker service update --replicas 数量 容器名称
写法2:
docker service scale 容器名=数量
9.3.3 查看服务
查看集群中所有的服务
docker service ls
查看集群中某个正在运行的服务
docker service ps 服务名
9.4 概念总结
swarm
集群的管理和编号。 docker可以初始化一个 swarm 集群,其他节点可以加入。(管理、工作者)
Node
就是一个docker节点。多个节点就组成了一个网络集群。(管理、工作者)
Service
任务,可以在管理节点或者工作节点来运行。核心。!用户访问!
Task
容器内的命令,细节任务!
- 服务副本与全局服务