Невозможно подключиться к подключенному порту док-контейнера на хосте - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть контейнеры Docker, определенные в файле docker-compose и начавшие использовать docker-compose с сопоставленными портами.

Хост имеет два сетевых интерфейса с разными ip.

interface-1 -> connects to the internet

interface-2 -> Connect to the LAN

Я могу подключиться к док-контейнеру через интерфейс-1, но при попытке использования интерфейса2:

При попытке подключения с помощью curl 10.0.0.4:8222 запускается следующий

Не удалось подключиться к порту 10.0.0.4 8222: сеть недоступна

Выдачаnetstat -tulpn показывает, что хост прослушивает подключенные порты

Proto Recv-Q Send-Q Local Address           Foreign Address         State         PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::139                  :::*                    LISTEN      -               
tcp6       0      0 :::80                   :::*                    LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -               
tcp6       0      0 :::13306                :::*                    LISTEN      -               
tcp6       0      0 :::8989                 :::*                    LISTEN      -               
tcp6       0      0 :::445                  :::*                    LISTEN      -               
tcp6       0      0 :::8222                 :::*                    LISTEN      -        

docker-compose ps показывает:

hmis /entrypoint supervisord   Up           443/tcp, 0.0.0.0:8222->80/tcp, 9000/tcp            
webdev_mysql_1        /entrypoint supervisord   Up             0.0.0.0:13306->3306/tcp, 443/tcp, 80/tcp, 9000/tcp 
webdev_phpmyadmin_1   /run.sh supervisord -n    Up           0.0.0.0:8989->80/tcp, 9000/tcp      

Ниже приведены правила iptables:

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

Chain FORWARD (policy DROP)

target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination         

Chain DOCKER (2 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:mysql
ACCEPT     tcp  --  anywhere             172.17.0.3           tcp dpt:http
ACCEPT     tcp  --  anywhere             172.17.0.4           tcp dpt:http

Chain DOCKER-ISOLATION (1 references)

target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)

target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere    

Вывод таблицы маршрутизации:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         199.111.62.9    0.0.0.0         UG    0      0        0 eno1
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eno2
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-f03404013814
199.211.62.8    0.0.0.0         255.255.255.248 U     0      0        0 eno1
...