Docker-Swarm调度策略

swarm在用命令swarm manager启动swarm manager时,可用--strategy指定调度策略。
swarm提供了三种调度策略计算节点的排名,在调度(例如选择哪一个节点运行容器时)时,取排名最前的节点。

这三种调度策略是:
- spread
- binpack
- random

random策略:随机选择节点。一般用于开发测试阶段。

spread策略:默认策略,swarm优先选择占用资源(如CPU、内存等)最少的节点,能保证集群中所有节点资源的均匀使用。
它的好处是,保证

binpack策略:与spread相反,它的目的是尽可能地填满一个节点,以保证更多空余的节点。

示例:

# 测试spread策略
# 背景:swarm集群中有两个相同资源(cpu、内存大小相同)的节点node1 node2
# 运行两个容器
docker tcp://<manager_ip:manager_port> run -d -P -m 1G --name db mysql
docker tcp://<manager_ip:manager_port> run
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Swarm和Docker Compose是Docker平台中两个不同的概念,它们各自服务于集群管理和应用部署的不同场景。 **Docker Swarm**: - **分布式管理**:Swarm是Docker官方提供的容器编排工具,它允许你将多个Docker节点(包括本地和远程)组织成一个集群,从而实现容器服务的分布式部署和管理。 - **服务发现和负载均衡**:Swarm提供了内置的服务发现功能,使得容器能够自动发现其他服务并进行负载均衡,无需外部配置。 - **高可用性和扩展性**:通过Swarm,你可以轻松地扩展应用程序,并保证其在容器集群中的高可用性。 - **资源调度**:Swarm可以根据策略自动调度容器,确保资源的合理分配。 **Docker Compose**: - **单机或本地部署**:Compose主要用于定义和运行单一主机上的一组应用和服务,它包含了一个简单的YAML文件,描述了应用的结构、依赖关系以及环境变量等。 - **开发环境部署**:适用于开发阶段,开发者可以通过`docker-compose up`快速启动一个包含所有依赖的服务环境。 - **轻量级**:Compose专注于创建和管理单个容器实例,不涉及复杂的集群管理。 - **容器编排简单**:它更适合小型和中型项目,对于复杂的应用分层和扩展,可能不如Swarm灵活。 总结来说,Docker Swarm更适合构建和管理大规模的分布式应用,而Docker Compose则专注于简化开发者的本地开发和测试环境的部署。如果你需要集群管理和跨机器服务的协作,Swarm是更好的选择;对于独立开发环境中的一次性部署,使用Compose更为便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值