¿Cómo acceder a un contenedor acoplable que se ejecuta en MacOSX desde otro host?
Estoy tratando de comenzar con Docker y quiero ejecutar elControlador de video Ubiquiti. He instalado Docker Toolbox y he logrado que el contenedor se ejecute en mi host Yosemite y puedo acceder a él en la misma Mac yendo a la IP devuelta pordocker-machine ip default
. Pero quiero acceder a él en otras máquinas de la red y, finalmente, configurar el reenvío de puertos en el enrutador de mi casa para poder acceder a él fuera de mi red doméstica.
Como se sugiere enboot2docker número 160, usando la GUI de Virtualbox pude agregar un adaptador de red puenteado, pero después de reiniciar la VMdocker-machine
ya no se puede conectar con la VM.docker env default
se cuelga durante mucho tiempo pero finalmente devuelve algunas variables de entorno junto con el mensajeMaximum number of retries (60) exceeded
. Cuando configuro el shell con esas variables e intento ejecutardocker ps
Me sale el error:An error occurred trying to connect: Get https://10.0.2.15:2376/v1.20/containers/json: dial tcp 10.0.2.15:2376: network is unreachable
.
Sospecho que docker-machine tiene algunas suposiciones sobre la configuración de red en la VM y las estoy arruinando.
docker-machine ssh ifconfig -a
devuelve lo siguiente:
docker0 Link encap:Ethernet HWaddr 02:42:86:44:17:1E
inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
dummy0 Link encap:Ethernet HWaddr 96:9F:AA:B8:BB:46
BROADCAST NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 08:00:27:37:2C:75
inet addr:192.168.1.142 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe37:2c75/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2996 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:278781 (272.2 KiB) TX bytes:6824 (6.6 KiB)
Interrupt:17 Base address:0xd060
eth1 Link encap:Ethernet HWaddr 08:00:27:E8:38:7C
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fee8:387c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:767 errors:0 dropped:0 overruns:0 frame:0
TX packets:495 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:122291 (119.4 KiB) TX bytes:116118 (113.3 KiB)
eth2 Link encap:Ethernet HWaddr 08:00:27:A4:CF:12
inet addr:192.168.99.100 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea4:cf12/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:430 errors:0 dropped:0 overruns:0 frame:0
TX packets:322 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:53351 (52.1 KiB) TX bytes:24000 (23.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0
parece estar obteniendo una dirección DHCP razonable de mi enrutador.
No estoy seguro de si este es el enfoque correcto o si estoy ladrando el árbol equivocado. Si puedo hacer que el adaptador de red en puente funcione en la máquina virtual, no sé cómo convencer a mi contenedor acoplable para que lo use. He intentado buscar por todas partes en Internet. He encontrado docenas de sitios que explican cómo debe acceder al contenedor utilizando el valor dedocker-machine ip default
más bien quelocalhost
pero nada que explique cómo acceder desde un host diferente. Tal vez necesito mejorar mis habilidades de google.