docker swarm(1.12 +)如何使用容器更新?例如:
在一个节点上我有2个容器,两个都使用4GB内存,总共8 GB,这等于节点大小。
如果我将一个容器的内存大小更改为例如,该怎么办? 6 GB? swarm:
我自己没弄明白。
答案 0 :(得分:1)
假设您正在使用Swarm上的服务并明确地为每个容器保留内存,那么您的服务将保留在“已分配的”内容中。如果您尝试更新它以保留比可用内存更多的内存,则说明状态。
例如:docker service create --replicas 1 --name nginx --reserve-memory 256M nginx
将成功并创建一个容器,其中保留256MB容量(如果您的Swarm上有容量)。然后运行docker service update --reserve-memory 300G nginx
,Docker将:
如果您没有300GB的节点可用,则无法安排更新的服务,它将处于Allocated
状态,因此您的服务无法正常运行在这一点上。
调度程序会继续检查,因此如果资源确实可用,或者如果您运行具有较低预留量的新update
命令,则它将按请求创建容器。