想学习更全面的docker知识可以点击右侧: Docker的概念及基本指令学习(全)
docker集群
(1)Docker Swarm 配置准备以及部署
- 准备三台宿主机器ip地址分别是192.168.0.4、192.168.0.6以及192.168.0.7,其中192.168.0.4是作为manager节点(管理根节点)其他两台机器是作为work节点来使用。
- 创建swarm集群
docker swarm init --advertise-addr 192.168.0.4
docker swarm join --token SWMTKN-1-69kuzr0khh1slvbuul0wn99t8ydf3f1hwaprvyx2r3kho4lxj4-87c2vnklddpwu1wvemex5d6wb 192.168.0.4:2377
- 端口开放
firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanen
- 修改主机名解析
hostnamectl set-hostname manager
vi /etc/hosts 不是必须要做的
192.168.0.4 manager
192.168.0.6 worker01
192.168.0.7 worker02
- 在worker节点中使用生成的命令将当前节点添加到管理节点中
docker swarm join --token SWMTKN-1-69kuzr0khh1slvbuul0wn99t8ydf3f1hwaprvyx2r3kho4lxj4-87c2vnklddpwu1wvemex5d6wb 192.168.0.4:2377
- 在管理节点查看集群节点信息
docker node list
docker inspect 节点id
(2)管理节点
- 查询目前集群中的节点信息
docker node ls (管理节点)
docker inspect 节点id
- 关于节点的状态
Active
:节点目前处于空闲状态,可以被指派新的任务
Pause
:节点目前处于不可接受新任务的状态,但目前的任务可以继续执行
Drain
:节点目前处于不可接受新任务的状态,并且停止目前正在执行的任务
Down
:废弃的节点
docker node update --availability drain manager
将管理节点调整为不接受新任务,也不再执行新任务的状态(专做管理)docker node update --availability drain work01
docker swarm leave
(工作节点) 让当前节点离开集群,离开后在管理端 节点的状态变成down状态。
docker swarm leave --force
(管理节点)解散集群
docker node rm 节点名称
删除一个节点(只能删除down状态的节点)
- Swarm节点部署服务与管理
docker service create --replicas 2 --name cslcp_web -p18080:80 nginx
创建服务
docker service ls
查看当前的集群中有那些服务
docker service ps 服务名
查看有那些节点为当前服务提供支持
docker service scale cslcp_web=3
修改服务节点数量
docker service rm cslcp_web
删除所有的服务节点
制作整理不易,以上内容均为原创(参考了部分官方文档和老师整理的案例)。如要引用请附上本文链接,如有疑问可以在评论区畅所欲言,作者看到会第一时间回复,欢迎交流!