我在 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