AWS ec2インスタンス(実行中docker
)から、Docker curl
コンテナーでホストされているWebサービスに接続しようとしています。
与えられた:
[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
コンテナー内からWebサービスにアクセスできます。
[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
ますか?