2016-09-04 1 views
1

Wir verwenden Docker auf zwei Hosts, wobei Overlay-Netzwerk aktiviert und konfiguriert ist. Es ist Version 1.12.1, mit Konsul als KV-Speicher - aber wir verwenden Swarm nicht, hauptsächlich weil wir nicht das Gefühl hatten, dass es uns die relevante Kontrolle über die Sicherstellung der Verfügbarkeit und die Minimierung von Ressourcen gab, aber trotzdem.Docker-Overlay-Netzwerk bereinigt keine entfernten Container

Unser Setup basiert auf einem Mikroservice und wir betreiben ziemlich viele Container, die ziemlich häufig neu gestartet werden. Unser Modell verwendet nginx als "Reverse-Proxy" für die Service-Erkennung aus verschiedenen Gründen, und so starten wir mehrere Container, die sich einen --host von "nginx-lb" teilen. Dies funktioniert einwandfrei, und andere Container im Netzwerk können sich mit nginx-lb verbinden, wodurch ihnen eine zufällige IP-Adresse der Container zugewiesen wird.

Das Problem, das wir haben, ist, dass beim Löschen von Containern und beim Erstellen neuer Container manchmal das Overlay-Netzwerk den alten Container aus dem System nicht entfernt, und so andere Container (ich weiß nicht, in welchen spezifischen Umständen dies auftritt) Versuchen Sie dann, sich mit den Toten zu verbinden, was zu Problemen führt.

Der einzige Weg, um dies dann zu lösen, ist manuell eine docker network disconnect -f overlay_net [container] aufrufen, bereits eine docker network inspect overlay_net ausgeführt, um die fehlerhaften Container zu finden.

Gibt es ein bekanntes Problem mit dem Overlay-Netzwerk, bei dem keine toten Container aus den KV-Daten entfernt werden, oder irgendwelche Ideen für eine Fehlerbehebung?

Antwort

Verwandte Themen