Назад | Перейти на главную страницу

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 и добавил строку:

[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? Поскольку контейнер докеров действительно прослушивает порт 32768, и этот порт открыт в брандмауэре (фактически полностью открыт, потому что политика ACCEPT и нет правила REJECT или DROP), похоже, что это может быть проблемой.

Вы можете проверить с помощью docker exec -ti pensive_leakey ss -tln