2016-07-02 21 views
0

Ich entwickle eine Plattform, die E-Mails überwacht, die Ergebnisse in einer Mongo-Datenbank speichert (über Parse-Server) und die Ergebnisse in einer Web-App anzeigt (mit AngularJS).Docker: mehrere verknüpfte Container für jeden Kunden

Grundsätzlich möchte ich für jeden Kunden einen SMTP-Server, einen Parse Server, eine MongoDB & eine Web-Plattform.

Ich dachte an die Verwendung von Docker für mehr Skalierbarkeit und die Idee ist, die Container automatisch zu erstellen, wenn der Benutzer auf meiner Website anmelden, aber ich verstehe nicht wirklich, wie diese Container miteinander verknüpfen: web1 | smtp1 verbunden mit parse1 verbunden mongo1 & web2 | smtp2 verbunden mit parse2 verbunden mit mongo2.

Am Ende mag ich die Kunden den Web-App durch web1.website.com zuzugreifen, so dass ich denke, dass ich auch HAProxy ..

Ich frage mich nur, ob es wirklich der beste Weg, verwenden sollte, Mach es, weil ich mit dem Automatisierungsprozess verrückt werde und wenn du irgendwelche Tipps hast, dies zu tun.

Antwort

0

Die Verwendung von Docker (speziell Docker Compose) zum Verbinden von Containern ist sehr einfach. In der Tat passiert es out of the box! Wenn Sie alle Ihre Container gleichzeitig erstellen, wird ein Docker-Netzwerk für Ihre "Composed App" erstellt und alle Container können sich gegenseitig sehen.

Siehe Dokumentation here.

Jeder Container kann nun den Hostnamen web oder db nachschlagen und die IP-Adresse des entsprechenden Containers abrufen. Zum Beispiel könnte sich der Anwendungscode des Webs mit der URL postgres: // db: 5432 verbinden und die Postgres-Datenbank verwenden.

Verwandte Themen