J'exécute une application Rails à l'intérieur d'un conteneur de menu fixe, mais j'essaie de l'atteindre depuis un navigateur. Le navigateur affiche ERR_CONNECTION_REFUSED
. lors de l'exécution de docker ps
je reçois
a086ed5a6c4a Rails "bash" 3 days ago Up About an hour 0.0.0.0:3000->3000/tcp Rails
puis quand je lance docker inspect Rails
je vois que la passerelle est "Gateway": "172.17.0.1"
quand j'essaie de ping 172.17.0.1
cela fonctionne mais si je ping 172.17.0.1:3000
cela ne fonctionne pas.
quand j'essaie nmap -p 3000 172.17.0.1
je reçois
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
en cours d'exécution Sudo netstat -tulpn
Je reçois ce qui suit.
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
Je devais me lier à 0.0.0.0 lors de l'exécution de Rails server
. J'ai donc utilisé Rails server -b 0.0.0.0
comme expliqué dans la réponse ci-dessous. https://stackoverflow.com/questions/34246254/cant-access-docker-container
L'explication la plus probable est que Rails ne s'exécute pas réellement dans le conteneur. En particulier, la sortie de docker ps
indique que la commande s'exécutant dans le conteneur est bash
. Cela voudrait dire que, sauf si vous l'avez démarré manuellement dans le conteneur, Rails ne fonctionne pas.