Can't access docker контейнер exposed port

I am running в rails app inside of в docker контейнер but trying to reach it from в browser the browser шоу ERR_CONNECTION_REFUSED . when running docker ps I get

a086ed5a6c4a        rails                       "bash"                   3 days ago          Up About an hour    0.0.0.0:3000->3000/tcp                                                            rails

then when running docker inspect rails I see the gateway is "Gateway": "172.17.0.1"

when I try and ping 172.17.0.1 it works but if I ping 172.17.0.1:3000 it doesn't work.

when I try nmap -p 3000 172.17.0.1 I get

Starting Nmap 6.40 ( http://nmap.org ) at 2015-12-12 15:27 PST
Nmap scan report for 172.17.0.1
Host is up (0.000047s latency).
PORT     STATE  SERVICE
3000/tcp closed ppp

running sudo netstat -tulpn I get the following.

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:5940          0.0.0.0:*               LISTEN      1900/teamviewerd
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      5965/dnsmasq    
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1195/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2910/cupsd      
tcp6       0      0 :::5858                 :::*                    LISTEN      4693/docker-proxy
tcp6       0      0 :::4200                 :::*                    LISTEN      4629/docker-proxy
tcp6       0      0 :::6379                 :::*                    LISTEN      4423/docker-proxy
tcp6       0      0 :::8080                 :::*                    LISTEN      4665/docker-proxy
tcp6       0      0 ::1:53                  :::*                    LISTEN      1195/dnsmasq    
tcp6       0      0 ::1:631                 :::*                    LISTEN      2910/cupsd      
tcp6       0      0 :::5432                 :::*                    LISTEN      4540/docker-proxy
tcp6       0      0 :::3000                 :::*                    LISTEN      3099/docker-proxy
tcp6       0      0 :::3001                 :::*                    LISTEN      4700/docker-proxy
tcp6       0      0 :::3002                 :::*                    LISTEN      6521/docker-proxy
tcp6       0      0 :::7357                 :::*                    LISTEN      4610/docker-proxy
udp        0      0 0.0.0.0:27824           0.0.0.0:*                           6091/dhclient   
udp        0      0 0.0.0.0:53717           0.0.0.0:*                           569/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           3206/chrome     
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           569/avahi-daemon: r
udp        0      0 0.0.0.0:5699            0.0.0.0:*                           5961/dhclient   
udp        0      0 127.0.1.1:53            0.0.0.0:*                           5965/dnsmasq    
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1195/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           6091/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           5961/dhclient   
udp        0      0 0.0.0.0:631             0.0.0.0:*                           1336/cups-browsed
udp6       0      0 :::53862                :::*                                5961/dhclient   
udp6       0      0 :::5353                 :::*                                569/avahi-daemon: r
udp6       0      0 ::1:53                  :::*                                1195/dnsmasq    
udp6       0      0 :::59093                :::*                                569/avahi-daemon: r
udp6       0      0 :::26992                :::*                                6091/dhclient   
1
задан 13 December 2015 в 02:44

2 ответа

Я должен был связать с 0.0.0.0 при выполнении rails server. Таким образом, я использовал rails server -b 0.0.0.0, как объяснено в ответе здесь. https://stackoverflow.com/questions/34246254/cant-access-docker-container

4
ответ дан 3 December 2019 в 06:59

Наиболее вероятное объяснение состоит в том, что направляющие на самом деле не работают в контейнере. В частности, вывод docker ps шоу, что команда, работающая в контейнере, bash. Это означало бы, что, если Вы не запустили его вручную в контейнере, направляющие не работают.

0
ответ дан 3 December 2019 в 06:59

Другие вопросы по тегам:

Похожие вопросы: