Da un'istanza di AWS ec2 (che funziona docker
), sto provando il curl
mio servizio web ospitato dal container docker.
Dato:
[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
Posso colpire il servizio web dall'interno del contenitore:
[ec2-user]$ docker exec -it b56fa0d76d5c bash
root@b56fa0d76d5c:/# curl 'http://localhost/health'
Request is missing required query parameter 'apiName'
Ma non posso colpirlo dall'host:
[ec2-user]$ curl 'http://localhost/health'
curl: (56) Recv failure: Connection reset by peer
Ho esaminato questa risposta dettagliata su questo curl
errore, ma non sono sicuro di come eseguire il debug di questo problema.
netstat
sul contenitore, ma ho corso:ss -a | grep -i LIST
per l'outputtcp LISTEN 0 100 ::ffff:127.0.0.1:http :::*
. Se ho letto correttamente quell'output, allora è in ascoltolocalhost:80
?