Von einer AWS ec2-Instanz (die ausgeführt wird docker
) versuche curl
ich, einen von Docker-Containern gehosteten Webdienst zu verwenden.
Gegeben:
[ec2-user]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b56fa0d76d5c $REGISTRY/$WORK/metrics:v0.1.0 "/bin/sh -c 'sh /root" 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:9000->9000/tcp insane_leakey
Ich kann den Webdienst aus dem Container heraus aufrufen:
[ec2-user]$ docker exec -it b56fa0d76d5c bash
root@b56fa0d76d5c:/# curl 'http://localhost/health'
Request is missing required query parameter 'apiName'
Aber ich kann es vom Gastgeber nicht treffen:
[ec2-user]$ curl 'http://localhost/health'
curl: (56) Recv failure: Connection reset by peer
Ich habe mir diese detaillierte Antwort auf diesen curl
Fehler angesehen, bin mir aber nicht sicher, wie ich dieses Problem beheben soll.
netstat
auf dem Container, aber ich lief:ss -a | grep -i LIST
um auszugebentcp LISTEN 0 100 ::ffff:127.0.0.1:http :::*
. Wenn ich diese Ausgabe richtig gelesen habe, hört sie dann zulocalhost:80
?