macos docker lan

macos - Cómo conectarse a un contenedor de portador desde el exterior del host(misma red)



docker lan (2)

La puesta en marcha:

  • Computadora A: aquí es donde Docker-Machine "default" se ejecuta bajo VirtualBox. "predeterminado" es ejecutar un contenedor llamado "Odoo". "predeterminado" se creó utilizando el proceso de instalación de Docker . "Odoo" fue creado usando el proceso de instalación de Odoo .
  • Computadora B: esta es una computadora en la misma red de área local (LAN) que la computadora A.
  • Enrutador: conecta el Equipo A y el Equipo B juntos en la LAN.

El software:

  • Ordenador A - OSX 10.11.3 / VirtualBox 5.0.18 / Docker 1.11
  • Computadora B - Windows 7 / Firefox
  • Enrutador - ASUSWRT

El problema:

  • Se puede acceder a Odoo en la Computadora A usando la dirección IP "predeterminada" más el número de puerto asociado de Odoo. Un ejemplo de la dirección es: 192.168.99.101:8069.
  • Odoo NO es accesible en la Computadora B usando la dirección IP "predeterminada" más el número de puerto asociado de Odoo.

La pregunta:

  • ¿Cómo se configura el entorno de VirtualBox para que el Equipo B pueda acceder a Odoo en la LAN?

Que 192.168.99.101 es la dirección IP del host Docker interno a la Computadora A. Solo necesita configurar el reenvío de defaut desde el puerto 8069 de la defaut al puerto 8069 de la máquina host. Luego, la computadora B podrá acceder a odoo con la dirección IP de la computadora A (por ejemplo: 10.0.1.22) más el puerto 8069. Dado que ambas computadoras están dentro de la misma red, no debería necesitar cambiar la configuración de su enrutador (excepto la configuración del firewall, si la hay)

10.0.1.22:8069

El reenvío de puertos debe establecerse en la configuración de virtulbox


¡Nota!

La solución que implica la modificación del Adaptador de red 1 es mucho más fácil de implementar. Es la solución recomendada.

El fondo:

Cuando se instala Docker, se crea una Máquina Virtual (VM) conocida como "predeterminada" dentro de VirtualBox. Dentro de VirtualBox Docker establece una configuración de red que permite que la computadora host (Computadora A) acceda a los contenedores que se ejecutan en "predeterminado" a través de la máquina Docker. Pero la computadora B no puede acceder a los mismos contenedores a través de la máquina docker-ip.

El proceso básico:

  1. Ajuste la configuración de la VM "por defecto" a través de VM VirtualBox Manager de Oracle para formar una red puenteada .
  2. Inicie la máquina virtual "predeterminada".
  3. Encuentre la dirección IP de red puenteada (BN-IP) de la máquina virtual "predeterminada".
  4. Comience el contenedor Odoo.
  5. Ingrese la dirección BN-IP más el puerto de Odoo (por ejemplo, 192.168.1.93:8069) en el navegador web de la Computadora B.
  6. Disfrútelo (a menos que algo salga mal y ¿cuándo no sale mal?).

Ajuste la configuración de la VM "predeterminada"

  1. Abra la GUI de VirtualBox.
  2. Mire la lista de máquinas virtuales en el lado izquierdo de la GUI.
  3. Haga clic en "predeterminado" (o la VM que desea modificar)
  4. Haga clic en el icono "Configuración" (objeto de engranaje)
  5. Sigue la captura de pantalla. Nota: Si usa un cable de ethernet para conectarse con la LAN, elija en0 en lugar de en1. La dirección MAC fue eliminada para la captura de pantalla. Debería rellenarse automáticamente.

    Inicie la máquina virtual "predeterminada"

    Para Mac es más fácil iniciar la VM "predeterminada" haciendo clic en el icono de la Terminal Docker QuickStart.

Después de una espera de uno o dos minutos, se te presentará una pantalla de inicio que incluye la IP "predeterminada". Este NO es el BN-IP que estás buscando.

Encuentre la dirección BN-IP de la VM "predeterminada"

Esta es la parte que es la clave y me derribó durante horas. Afortunadamente existen buenas instrucciones de descubrimiento de red . Ejecute las instrucciones en el Docker Terminal y una dirección para "default.YourLANDomain" debería aparecer. Se verá algo así como:


default.ripcord.lan (192.168.1.93) en x: x: xx: xx: xx: xx en en1 ifscope [ethernet]

Observe la parte "predeterminada" de la dirección anterior. Ese es el nombre de Docker VM. Útil para propósitos de identificación humana.

Si lo anterior no funciona para encontrar el BN-IP para la máquina virtual "predeterminada", puede que tenga suerte mirando lo que está viendo su enrutador (vea el ejemplo a continuación). Tenga en cuenta que "jakes-macbook" tiene una anotación "2" cerca del icono del dispositivo. Eso significa que hay dos clientes asociados con el ícono. 192.168.1.24 no es el BN-IP para la máquina virtual "predeterminada". La dirección IP cambiará hacia atrás y hacia adelante (en momentos impares). La otra dirección, 192.168.1.93, es la BN-IP para la máquina virtual "predeterminada".

El resto de la historia sin fin

Encienda el contenedor Odoo y luego acceda a él con la Computadora B en la dirección IP de BN 192.168.1.93:8069 (por ejemplo). ¡Gran éxito! Ojalá....

Solución de problemas

Use ping para intentar averiguar si el BN-IP para la VM "predeterminada" está activo y vaya desde allí para que este método funcione. Para obtener una solución más limpia, consulte el método para modificar el Adaptador de red 1. Es un método mucho más fácil de implementar.