2014-08-29 8 views
6

Ho installato boot2docker (installazione completa) su Windows 7 e sto cercando di correre the container port redirection demo:boot2docker sulle finestre - Impossibile accedere alla porta a vista

docker run --rm -i -t -p 80:80 nginx 

che sembra che non è del tutto finendo correttamente, semplicemente si ferma e si presenta così:

enter image description here

quando apro un altro shell bash Git e correre boot2docker ip ottengo 192.168.59.103, e quando ho pop che in cromo ricevo Error code: ERR_CONNECTION_TIMED_OUT

Funziona perfettamente con la finestra mobile su Ubuntu 14.04. Cos'altro devo fare per farlo funzionare con boot2docker su Windows?

+1

possibile duplicato di [Docker, non può raggiungere lo sviluppo di "rails server" da localhost: 3000 utilizzando il flag di docker -p 3000: 3000] (http://stackoverflow.com/questions/23422540/docker-cant-reach- rails-server-development-from-localhost3000-using-docker) – Ben

+0

Vedere anche http://stackoverflow.com/a/29303930/6309 – VonC

+1

boot2docker ip lo ha ordinato per me. Grazie – Bryan

risposta

14

guardando più da vicino, il mio problema è lo stesso di questa domanda: Docker, can't reach “rails server” development from localhost:3000 using docker flag -p 3000:3000

La risposta a questa domanda che ha funzionato per me è stato this one, che dice semplicemente a correre

boot2docker ssh -L 8080:localhost:80 

al terminale prima partendo boot2docker

Nel mio caso faccio questo (da un terminale bash Git):

boot2docker init # from https://github.com/boot2docker/boot2docker 
boot2docker up 
boot2docker ssh -L 8787:localhost:8787 # sets up port forwarding and starts boot2docker 
docker run -d -p 8787:8787 cboettig/rstudio # starts the container I want 

quindi andare al mio browser in Windows e puntarlo su http://localhost:8787/ e ottengo un'istanza del server di RStudio. Quando ho finito:

docker rm -f $(docker ps -a -q) # delete all containers 

UPDATE: il downgrade a una versione precedente di VirtualBox risolverà questo

Dopo struggling with folder sharing ho regredito attraverso le precedenti versioni di VirtualBox e ha scoperto che con la versione 4.3.12 che potevo abilitare la condivisione delle cartelle e far inoltrare la porta esattamente in base alle istruzioni ufficiali, ovvero posso accedere al contenitore della finestra mobile al numero 192.168.59.103. Quindi il downgrade di VirtualBox è un'altra opzione per aggirare questo problema.

un altro aggiornamento: l'aggiornamento alla nuova versione di v1.3.1 di boot2docker risolverà questo

Questo release appena uscito una settimana fa e include VirtualBox Guest Additions, che semplifica tutto questo. Io ora faccio semplicemente

boot2docker ssh # start boot2docker 
docker run -d -p 8787:8787 -v /c/Users/foobar:/home/rstudio/foobar rocker/rstudio 

E ho everthing funziona come previsto e in grado di accedere al RStudio nel mio browser a http://localhost:8787/ (Linux) o http://192.168.59.103:8787 (Windows) e funziona solo.

In questo caso ho anche folder sharing lavorare con, /c/Users/foobar corrispondente ad una cartella esistente sul mio computer a C:/Users/foobar, e foobar può essere qualsiasi cosa.Con questo metodo posso leggere e scrivere file in entrambi i modi tra Windows e RStudio e non ho bisogno di connettermi a uno speciale indirizzo IP come fa il metodo samba nei documenti ufficiali

1

Ho avuto questo problema anche dopo un paio di tentativi falliti di boot2docker start. Ciò ha creato più voci delle reti host-only configurate su VirtualBox (VirtualBox Host-Only Ethernet Adapter #2, VirtualBox Host-Only Ethernet Adapter #3) e probabilmente la VM di boot2docker stava utilizzando una cattiva.

Ho pulito utilizzando l'interfaccia utente standard di Virtualbox, lasciando solo una delle reti e ora tutto funziona correttamente.

Sto usando boot2docker 1.5.0.

Solo per registrare qualcosa che mi è successo, e mi ha fatto perdere un paio d'ore.