Ich habe eine REST-API innerhalb eines Containers, gebunden an/rest/getMail, die eine JSON-Zeichenfolge zurückgibt.Docker: Port 8080 kann nicht geöffnet werden
Ich kann diese API innerhalb des Containers mit curl localhost:8080/rest/getMail
ohne Problem aufrufen.
Allerdings kann ich diese API nicht von außen aufrufen, obwohl ich bereits den Port EXPOSIERT und einen externen zu internen Port gebunden habe: docker run -d -i -p 2500:8080 myimage
oder docker run -d -i --expose 8080 -p 2500:8080 myimage
. Es zeigt: Verbindung abgelehnt.
Ich kann die api mit IP-Adresse wie nicht einmal nennen: curl 172.17.0.2:8080/rest/getMail
Was das Problem sein kann? Es ist wirklich komisch. Danke.
edit:
Wenn ich curl localhost:2500
tun, es zeigt:
curl: (56) Recv failure: Connection reset by peer
Und telnet localhost:2500
:
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
curl localhost:2500/rest/getMail
mir das gleiche Ergebnis gab.
Ja, ich habe, der zweite (curl localhost: 2500/rest/getMail) funktioniert überhaupt nicht. – brest1007
Hmmm, Könnten Sie bitte erklären, was Sie meinen, dass es nicht funktioniert? Einige weitere Informationen wären sehr hilfreich! :) Könnten Sie auch 'telnet localhost 2500' versuchen und die Ausgabe posten? – gsaslis
ok danke, ja ich denke du hast Recht, der Port ist eigentlich offen, aber ich bekomme keinen Zugriff auf die API. Aber seltsam, wenn ich es aus dem Container herausrufe, funktioniert es gut. – brest1007