2017-08-22 1 views
0

Der Stack, den ich für mein Projekt ausgewählt habe, sind Python, R und MongoDB. Allerdings würde ich gerne Docker für dieses Projekt übernehmen, aber als ich meine Recherchen im Internet durchführte, fand ich ein Beispiel für MySQL mit PHP oder Wordpress. Also bin ich neugierig zu wissen, wo ich Tutorials oder ein Beispiel für die Verwendung von Containern mit Python, R und MongoDB finde oder eine Idee, wie man sie zusammenstellt. Wie wird die Dockerfile aussehen? Speziell in meinem Projekt wird R für die Datenverarbeitung verwendet und die Datenvisualisierung wird von Python aus aufgerufen, das für den Datensammler als Untermodul für die Datenbereinigung verwendet wird.Wie man Bilder von Docker-Containern für Python, R und MongoDB zusammenarbeitet

Jede Hilfe wird geschätzt.

+0

Learn docker komponieren https://docs.docker.com/compose/ –

+1

wahrscheinlich Ihre Python, R und MongoDB würden jeweils separate Container sein (so können Sie sie separat versionieren/bereitstellen/skalieren). Sie kommunizieren über das Netzwerk. Das "Verknüpfen" von Containern vereinfacht das. Sie können docker-compose verwenden, um zu beschreiben, wie Sie einen Stapel von Diensten bereitstellen, die zusammenarbeiten: https://stackoverflow.com/questions/38358933/docker-containers-how-do-they-work-together, aber um ehrlich zu sein, Docker -compose hilft nicht viel mit Dingen wie "Warte auf einen bestimmten Container, der bereit sein soll, bevor ich anfange, Anfragen an ihn zu senden"; Diese Logik muss auf Anwendungsebene oder beim Start des Containers erfolgen. – Birchlabs

Antwort

0

Option 1: sie Split in mehrere Docker Bilder und sie alle mit docker-compose von einem YAML ausführen, die sie alle leichter eingestellt werden.

Es gibt wahrscheinlich bereits ein Bild für jeden dieser Dienste, die Sie verwenden können, und fügen Sie einfach etwas Code hinzu, indem Sie den Docker volumes verwenden. Suche sie einfach unter Docker Hub. Beispiel für die Verwendung mit dem Beenden Python Image sind bereits in der Beschreibung. Es zeigt sogar, wie Sie Ihr eigenes Docker-Bild mit einer Dockerfile erstellen, die Sie für jedes Bild benötigen.

Option 2: können Sie bauen nur ein Bild, das eine weniger spezifische Bild mit (wir debian sagen/ubuntu), installieren Sie alle Interpreten, Bibliotheken und andere Anforderungen innerhalb und dann eine ENTRYPOINT erstellen, die ein Skript aufrufen wird, das wird Führen Sie jeden Dienst aus und halten Sie ihn geöffnet, um die Fertigstellung des Containers zu vermeiden.

Verwandte Themen