Não é possível acessar a porta exposta do contêiner do docker

1

Estou executando um aplicativo de trilhos dentro de um contêiner docker, mas tentando acessá-lo de um navegador, o navegador mostra ERR_CONNECTION_REFUSED . quando executando docker ps eu recebo

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

depois, ao executar docker inspect rails , vejo que o gateway é "Gateway": "172.17.0.1"

quando tento e ping 172.17.0.1 funciona, mas se eu ping 172.17.0.1:3000 não funcionar.

quando tento nmap -p 3000 172.17.0.1 recebo

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

executando sudo netstat -tulpn recebo o seguinte.

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   
    
por monty_lennie 13.12.2015 / 00:44

2 respostas

4

Tive que ligar a 0.0.0.0 ao executar rails server . Então eu usei rails server -b 0.0.0.0 como explicado na resposta aqui. link

    
por monty_lennie 13.12.2015 / 20:41
0

A explicação mais provável é que o Rails não está sendo executado no container. Em particular, a saída de docker ps mostra que o comando em execução no contêiner é bash . Isso significaria que, a menos que você tenha iniciado manualmente dentro do container, o Rails não está rodando.

    
por Andreas Veithen 13.12.2015 / 12:21