Ich habe zwei Anwendungen, von denen eine eine RESTful-Schnittstelle hat, die von der anderen verwendet wird. Beide laufen auf demselben Rechner.REST-Anforderung von einem Andock-Container zum anderen schlägt fehl
Anwendung A wird in einem Andock-Container ausgeführt. Ich verwende es über die Befehlszeile:
docker run -p 40000:8080 --name AppA image1
Wenn ich die Anwendung B außerhalb eines Docker Container testen (in anderen Worten, bevor es dockerized wird) Anwendung B erfolgreich ausgeführt alle RESTful-Anfragen und Antworten empfängt ohne Probleme.
Leider, wenn ich dockerize und Anwendung B in einem Container ausgeführt wird:
docker run -p 8081:8081 --name AppB image2
, wenn ich versuchen, eine RESTful Anforderung an die Anwendung A zu senden, ich folgendes erhalten:
Connect to localhost:40000 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
Natürlich Ich habe auch versucht, Application B mit der IP-Adresse meines Rechners zu verbinden. Wenn ich das tue, erhalte ich folgenden Fehler:
Connect to 192.168.1.101:40000 failed: No route to Host
Hat jemand diese Art von Verhalten schon einmal gesehen? Was bewirkt, dass eine Anwendung, die perfekt mit einer anderen dockerisierten Anwendung außerhalb eines Andockcontainers kommuniziert, nicht mit derselben dockerisierten Anwendung kommunizieren kann, nachdem sie selbst dockerisiert wurde ???
Jemand bitte raten ...
Verbinden Sie einfach B mit A 'Docker Run -p 8081: 8081 - Link AppA - Name AppB image2', dann können Sie auf den REST-Service zugreifen mit' AppA: 8080' –