2015-04-13 14 views
9

Ho un demone finestra mobile iniziata nella macchina host ascoltare un po 'l'indirizzo IP e la porta, dico 10.10.10.10, e la porta 1234, poi comincio un contenitore invocandoCome connettersi al servizio nel computer host dall'interno di un contenitore di finestra mobile?

sudo docker -H 10.10.10.10:1234 centos /bin/bash 

Nel frattempo, ho un servizio web runnig sul computer host, in esecuzione sulla porta 8080. Quindi dall'interno del contenitore, non riesco a collegarmi a questo server. Ho provato

curl http://10.10.10.10:8080 

ma ho ottenuto un messaggio di errore:

curl: (7) couldn't connect to host 

Ma posso accedere al server in altre macchine, come http://10.10.10.11:8080 Sembra che il contenitore finestra mobile non può accedere al servizio in quanto tale macchina host? C'è un modo per risolvere questo problema? Grazie

+0

Vedere http://stackoverflow.com/questions/27556301/connect-to-local-mysql-server-through-docker/27564532#27564532 – Bryan

risposta

6

che è stato discusso in issue 1143 e là might be one day a --link-host option.

Nel frattempo, il post sul blog "Accessing the Docker Host Server Within a Container" elenca alcuni un'opzione:

  • Il Gateway Approccio: netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}'
  • L'approccio IP: l'indirizzo IP è boot2docker 192.168.59.103.

Anche se non c'è modo per analizzare indirizzo IP dell'host (per quanto ne so) è possibile passare questo in via una variabile di ambiente:

[email protected]:~$ docker run -i -t -e DOCKER_HOST=192.168.59.103 ubuntu /bin/bash 
[email protected]:/# env 
HOSTNAME=07561b0607f4 
DOCKER_HOST=192.168.59.103 

Hai altre opzioni di "Network Configuration", con l'interfaccia virtuale denominata docker0 sul computer host.

+0

Grazie, questo ha funzionato per me :) –

Problemi correlati