2016-08-21 5 views
6

Ich frage mich, wie man ein Mongodb-Replikat mit dem neuen Docker 1.12-Schwarmmodus-Dienstmodell startet. das Starten eines Dienstes ermöglicht es Ihnen, eine Anzahl von Containerreplikaten anzugeben, die im Fall des minimalen Replikats den Wert 3 haben. Wie würden dann jedoch Parameter für das Primärreplikat festgelegt, wenn Docker einzelne Container mit demselben Namen ausführt des Dienstes (zum Kontaktieren der Container über das Overlay-Netzwerk)?Mongodb-Replikat-Set mit Docker 1.12-Diensten

Wie würden sich die Replica-Set-Container mit anderen Namen verbinden? mongodb1, mongodb2, mongodb3 - das müssten verschiedene Dienste sein?

Es war alles so direkt mit laufenden 'run' Befehl direkt ausgeführt ... jetzt scheint es ein wenig verwirrender für State-Full-Container (Replikat-Set-Mitglieder), im Gegensatz zu Staatenlosen Container, wo alle Container eines Service sind die gleichen ...

alle Hinweise oder Links werden hilfreich sein.

Antwort

2

Ich erkannte, über offizielle Mongodb-Guides für ein Replikat auf Kubernetes festgelegt, dass Sie einen neuen Dienst pro Replikat-Set-Mitglied deklarieren müssen.

So für ein grundlegendes Replikat-Set deklarieren Sie 3 Dienste, eine primäre, zwei sekundäre - service__primary, service__sekundär_1, service_secondary_2.

Jeder dieser Schwarm-Dienste ist nur Proxy/Load-Balancing zu einem einzigen Container, der den Mongod-Prozess ausführt.

+0

Beachten Sie, dass dies die Anwendungsseite für das Failover auf einen anderen Server belastet. Nicht sehr dockerähnlich. – raarts