2016-07-27 17 views
6

Ich habe drei Express-Server auf Nodejs geschrieben. Diese Server dienen unterschiedlichen Zwecken und laufen daher auf verschiedenen Ports.Mehrere Server von einem Docker-Image ausführen

ZB: app1.js auf 8000, app2.js auf 5000 und app3.js auf 5432

Ich möchte ein Docker Bild mit einer Docker-Datei erstellen und alle diese Server laufen. Können wir das tun? Wenn ja, wie können wir es tun? Nach meinem Wissen können wir nur einen Befehl aus der Andockdatei ausführen.

Antwort

5

Sie möchten vielleicht mit Docker Compose suchen.

Jeder Server würde seine eigene Dockerfile haben und Ihre docker-compose.yml-Datei würde die Ports definieren, die diese offenlegen und wie sie interagieren.

3

Der vorgeschlagene Mechanismus von Ethan ist korrekt für die gleichzeitige Ausführung mehrerer Andock-Container, erklärt aber nicht warum.

Um ein wenig weiter zu erläutern, kann jeder Andockcontainer mehrere Prozesse (Server) erzeugen, aber ein Andockcontainer muss einen der Prozesse im Vordergrund haben, und docker den Containerlebenszyklus typischerweise den Lebenszyklus des Vordergrundprozesses widerspiegelt.

Viele der Vorteile von dockerization gehen verloren, wenn Sie alle Prozesse in einem Andock-Container ausführen. Daher wird empfohlen, pro Prozess einen Andock-Container zu verwenden.

+0

Dank im Einsatz. –

0

Sie können die phusion passenger nodejs image überprüfen. Sie können es so konfigurieren, dass es einen einzelnen Server ausführt, der Daten von mehreren nodejs-Prozessen bereitstellt.

Verwandte Themen