当前位置: 首页 > 知识库问答 >
问题:

Docker-Swarm只能在故障转移模式下运行吗?

尹臻
2023-03-14

我面临一个情况,我需要在Docker容器中运行大约100个不同的应用程序。在一个硬件上运行所有100个容器是不合理的,所以我需要将应用程序分散到几台机器上。据我所知,docker-swarm仅用于伸缩,这意味着当我在一个swarm中运行容器时,所有100个容器将自动部署并在docker-swarm的每个节点上启动。但这不是我要找的。我想拆分应用程序,例如在node1上运行50个Node2上运行50个。

问题1:是否有一种方法来配置docker-swarm,使我的应用程序在空闲资源最多的节点上自动分派?

共有1个答案

穆彬郁
2023-03-14

所有100个容器将自动在我的docker-swarm的每个节点上部署和启动

这不是真的。当您在一个群中部署100个容器时,容器将分布在群中的可用节点上。您将得到所有节点上容器的均匀分布。

问题1:是否有一种方法来配置docker-swarm,使我的应用程序在空闲资源最多的节点上自动分派?

如果容器崩溃,docker swarm将确保启动新的容器。同样,不能预先确定在哪个节点上部署新容器。

 类似资料:
  • 我试图在docker群中创建一个Redis集群。我正在使用bitnami-redis-docker图像创建容器。在阅读bitnami文档时,他们总是建议使用1个主节点,而不是阅读Redis文档,后者规定至少应该有3个主节点,这就是为什么我不知道哪个是正确的。假定所有bitnami slave默认为只读,如果我在一个swarm leader节点中只设置一个master,并且如果失败,我相信senti

  • 我们使用MQ作为传递消息的主要路径。这是我们的制度运作不可或缺的一部分。消息代理有时会失败,所有相关的队列也会随之失败。在camel中,有没有一种方法可以启动故障切换,并在其启动时恢复到主故障切换?

  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 考虑为现有Azure Cosmos DB帐户启用地理冗余?但是如何模拟故障转移来进行测试呢 启用地理冗余后,考虑数据一致性有多重要? 一般性建议是什么 考虑地理冗余或数据一致性所需的任何代码更改?我们使用的是cosmosdb-sqlapi。

  • 我们有一个mongodb副本集,其中包含两个实例(127.0.0.1:27017-主要,127.0.0.1:27018-次要)和一个仲裁器(127.0.0.1:27019)。当我使用rs.steppdown(60)从主实例中退出时,它应该成为辅助实例,辅助实例应该成为主实例,所有写操作都应该在辅助实例中发生(退出后的主实例)。但在卸任后,我遇到了一个异常“无法将数据写入传输连接:远程主机强制关闭了

  • 对于复制,我们设置Server1作为主服务器,设置server2作为次服务器...一切正常。 期望:当server1停机时,次要的server2不会自动变成主要的。它仍然是次要的。server2也有可能自动成为主服务器。 情况2:MongoDB复制是否需要3台强制服务器,以便当server1宕机时,server2将自动成为主要服务器,server3将保持次要服务器。(这很管用)