docker工人 – 这个网站无法到达

我安装了一个tomcat映像并运行一个容器:

[root@MY_IP ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e624bb55878f tomcat:7 "catalina.sh run" 43 minutes ago Up 43 minutes 0.0.0.0:32768->8080/tcp pensive_leakey 

日志告诉我,tomcat服务器正在运行,但是当我通过浏览器检查时,它告诉我:

 This site can't be reached : MY_IP:32768 MY_IP refused to connect. ERR_CONNECTION_REFUSED 

所以MY_IP:32768不起作用。 我认为这是一个防火墙的问题,所以我检查了我的iptables,并添加了ligne:

 [root@MY_IP ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6666 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:32768 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

当我检查与netstat它看起来不错:

 [root@MY_IP ~]# netstat -tulpn Connexions Internet actives (seulement serveurs) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1375/mongod tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1240/mysqld tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1101/vsftpd tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 976/named tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1087/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1335/master tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 976/named tcp 0 0 :::32768 :::* LISTEN 13085/docker-proxy tcp 0 0 :::80 :::* LISTEN 1348/httpd tcp 0 0 ::1:53 :::* LISTEN 976/named tcp 0 0 :::22 :::* LISTEN 1087/sshd tcp 0 0 ::1:953 :::* LISTEN 976/named udp 0 0 127.0.0.1:53 0.0.0.0:* 976/named udp 0 0 ::1:53 :::* 976/named 

但是我仍然有同样的拒绝连接问题。 我确定我重新启动了服务iptables。

我在这里做错了什么? 我运行的是CentOS 6.7(Final)。 谢谢

你确定tomcat本身正在监听端口8080吗? 因为docker容器确实在端口32768上侦听,并且端口在防火墙中打开(实际上完全打开是因为策略是ACCEPT,并且没有REJECT或DROP规则),所以似乎可能是问题所在。

您可以使用docker exec -ti pensive_leakey ss -tln