Angenommen, Sie verwenden Dienste im Swarm und explizit reservierten Speicher pro Container, bleibt Ihr Dienst im Status "allokiert", wenn Sie versuchen, ihn zu aktualisieren, um mehr als verfügbaren Speicherplatz zu reservieren.
ZB: docker service create --replicas 1 --name nginx --reserve-memory 256M nginx
wird erfolgreich und erstellen 1 Container mit 256MB reserviert für sie (wenn Sie Kapazität auf Ihrem Swarm haben). Dann laufen docker service update --reserve-memory 300G nginx
und Docker wird:
- Shutdown der vorhandenen Container
- versuchen, einen neuen Behälter mit den angeforderten Ressourcen
Wenn Sie einen Knoten mit 300 GB zur Verfügung, die aktualisiert haben nicht planen Dienst kann nicht geplant werden und es wird in dem Allocated
Status sitzen, so wird Ihr Dienst zu diesem Zeitpunkt nicht ausgeführt.
Der Scheduler prüft, ob die Ressourcen verfügbar sind, oder wenn Sie einen neuen update
-Befehl mit einer niedrigeren Reserve ausführen, wird der Container wie angefordert erstellt.