AWS ec2 उदाहरण (जो चलता है docker
) से, मैं curl
अपने docker कंटेनर-होस्टेड वेब सेवा के लिए प्रयास कर रहा हूं ।
दिया हुआ:
[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
मैं कंटेनर के भीतर से वेब सेवा को हिट कर सकता हूं:
[ec2-user]$ docker exec -it b56fa0d76d5c bash
root@b56fa0d76d5c:/# curl 'http://localhost/health'
Request is missing required query parameter 'apiName'
लेकिन, मैं इसे मेजबान से नहीं मार सकता:
[ec2-user]$ curl 'http://localhost/health'
curl: (56) Recv failure: Connection reset by peer
मैंने इस त्रुटि पर इस विस्तृत उत्तर को देखा curl
, लेकिन मुझे यकीन नहीं है कि इस मुद्दे को कैसे डीबग किया जाए।
netstat
कंटेनर पर नहीं , लेकिन मैं भाग गया:ss -a | grep -i LIST
उत्पादन करने के लिएtcp LISTEN 0 100 ::ffff:127.0.0.1:http :::*
। अगर मैं उस आउटपुट को सही ढंग से पढ़ता हूं, तो यह सुन रहा हैlocalhost:80
?