0

我在 Amazon EC2 的 docker 容器中运行了一个 wildfly swarm 应用程序。

这是我的 Docker ps:

913171ca1a34        xxxxxxxxxxx/myrepository:osapp2.0   "java -jar /app/Or..."   55 minutes ago      Up 55 minutes       8080/tcp, 0.0.0.0:4000->80/tcp   elastic_yonath

netstat -ano | grep 4000 gives following output
tcp        0      0 :::4000                     :::*                        LISTEN      off (0.00/0/0)

 netstat -ano | grep 80
udp        0      0 fe80::841:a6ff:fe76:c70c:546 :::*                                    off (0.00/0/0)
udp        0      0 :::53880                    :::*                                    off (0.00/0/0)
unix  3      [ ]         STREAM     CONNECTED     9800

我在入站的 EC2 中启用了安全组中的端口 80

我已根据 StackOverflow 中的其他整体::1从文件中删除。/etc/hosts

我在使用 curl 时得到:

"curl http://locahost:4000"
curl: (56) Recv failure: Connection reset by peer

"curl http://localhost:8080"
curl: (56) Recv failure: Connection reset by peer

我可以在我的本地系统中运行我的 docker。

我究竟做错了什么?

这是我的IPtables:

sudo iptables -S
-P INPUT ACCEPT

-P FORWARD DROP

-P OUTPUT ACCEPT

-N DOCKER

-N DOCKER-ISOLATION

-A FORWARD -j DOCKER-ISOLATION

-A FORWARD -o docker0 -j DOCKER

-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A FORWARD -i docker0 ! -o docker0 -j ACCEPT

-A FORWARD -i docker0 -o docker0 -j ACCEPT

-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT

-A DOCKER-ISOLATION -j RETURN

我做了一个 netstat -antp,这里的端口像 IPV6 地址一样列出?如何使用 IPV4 配置运行我的 docker

sudo netstat -antp 活动 Internet 连接(服务器并已建立)

Proto Recv-Q Send-Q 本地地址 外部地址
状态 PID/程序名称

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2294/rpcbind

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2481/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2511/sendmail

tcp 0 0 0.0.0.0:51501 0.0.0.0:*
LISTEN 2315/rpc.statd

tcp 0 300 172.30.1.61:22 202.60.62.100:39334 已建立 4539/sshd

tcp 0 0 :::111 :::* LISTEN 2294/rpcbind

tcp 0 0 :::22 :::* LISTEN 2481/sshd

tcp 0 0 :::36475 :::* LISTEN 2315/rpc.statd

tcp 0 0 :::4000 :::* LISTEN 4431/docker-proxy

4

1 回答 1

0

该链接向我展示了一种方式“ https://serverfault.com/questions/769578/curl-56-recv-failure-connection-reset-by-peer-when-hitting-docker-container

我能够连接到 docker bash 并且能够卷曲网址

所以我做了两件事 1)在我的 Maven POM.xml 中,我添加了一个配置来设置 0.0.0.0
或 2)我可以在 docker 文件的入口点标签中传递绑定地址

然后我在 docker run 命令中使用了端口 8080

docker run -d -p 8080:8080 rajxxxxxx/myrepository:osapp3.0

现在我可以在 EC2中卷曲“ http://localhost:8080/rest/orderapp?ordernumber=102&&offset=1 ”

于 2017-08-01T08:19:03.140 回答