docker swarm 的了解
知识补充
1.水平扩展:
docker-compose up -d
docker-compose up --scale web=3 -d
此时会有3个web容器被启动
docker-compose up --scale web=1 -d
在线减少web容器的数量
一.docker swarm 的介绍:
1.docker swarm是docker官方提供的一套容器编排系统。用于线上环境的部署不像docker-compose命令用于本地的环境部署。
2.swarm节点的分类:
1) manager节点:
Docker Swarm集群需要至少一个manager节点,节点之间使用Raft consensus protocol进行协同工作。
线上manager至少部署两个。
2)worker节点
worker节点是运行实际应用服务的容器所在的地方
3.创建swarm环境:
docker swarm init --advertise-addr ip ---------->manager
![](https://img.haomeiwen.com/i10439291/4ef2f938a032a33d.png)
创建worker:
![](https://img.haomeiwen.com/i10439291/9120238869a4aa07.png)
查看创建的swarm环境:
![](https://img.haomeiwen.com/i10439291/e12fdfda04427bfb.png)
4.docker service命令详解
docker service 服务创建:
docker service create --name 名称 --network ovberlay网络名 -p port:port --mount type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH> 镜像名
docker service 查看:docker service ls
docker service 扩展: docker service scale 服务名=num
docker service服务详细信息: docker service inspect 服务名
docker service查看容器部署情况: docker service ps 服务名
docker service查看日志: docker service logs 服务名
docker service 服务的更新:
1.image的更新(业务不中断):
docker service update --image 新镜像名称 service名称
eg:docker service update --image mysql:v2 db
2.端口的更新(业务中断):
docker service update --publish -rm old-port:port --publish-add new-port:port service名称
eg: docker service update --publish -rm 3306:3306 --publish-add 33060:3306 db
3.docker-compose.yml有更改,service更新:
docker stack deploy 服务名称 --compose-file=docker-compose.yml