Andockfenster.io - Docker Verknüpfung zwischen der Anwendung & Datenbank-Container
Ich versuche, mit meinem Scala-Akka-Anwendung mit meiner MySQL-Datenbank auf zwei separaten Docker-Containern. Ich fand heraus, dass Docker ermöglicht es Entwicklern, um die Verbindung Ihrer Anwendung auf Ihre Datenbanken mit der Flagge namens-link. In meinem Dockerfiles, in denen ich verwendet habe, um meine Bilder, die ich über die add-in SETZEN 3306 8080 zu.
Und das ist, wie ich den Container:
docker run -d -p 3306:3306 --name mysql centos6mysql
docker run -d -p 8080:8080 --name scalaapp --link mysql:db centos6scala
Sich nach dem Behälter, den ich verwendet docker ps und ich bin in der Lage, um zu sehen, die aktiven Container. Es scheint jedoch, wie der application-container ist nicht mit der Datenbank aus dem MySQL-container. Wer weiß, was ist falsch?
- möchten Sie vielleicht etwas präziser werden was du damit meinst >Es scheint, wie der application-container ist nicht mit der Datenbank aus dem MySQL-container.
- Ich erstellte eine restcore Skript, die startet mein scala-akka-app. Meine application container wird grundsätzlich starten Sie das Skript, wenn ich es laufen lasse.
- Mein script wird mir erlauben, gebunden ein port 8080 auf den container. Nach dem ausführen von sowohl der app-und db-Container, gehe ich auf den browser und geben Sie in http://<host-ip-Adresse>:8080/v1/<einige Organisation>/1. Erwartung: wird Er mich zurückbringen der DB-Datensatz mit der ID 1. Realität: Es sagt nur internal server error
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verlinkung in Docker ermöglicht die Netzwerk-verbindungen zwischen den Behältern. Andockfenster definieren Sie Umgebungsvariablen für den verknüpften Container für die URL, die IP, den port und das Protokoll. Die Namen dieser werden, basierend auf dem Namen des Containers. Zum Beispiel:
Können Sie diese Umgebungsvariablen, um Ihre Akka app-container, um die Verbindung mit Ihrer DB-container. Allerdings müssen Sie manuell konfigurieren Sie die app-container zu tun. Docker wird nicht die Verbindung automatisch für Sie.
So, irgendwo in Ihrer app, werden Sie brauchen, um passieren Sie diese Werte mit Ihrem startup-script, etwas, das Aussehen könnte: