
Estoy comenzando con Docker, simplemente intento ejecutar un contenedor Docker con una aplicación web e intento verlo en nuestra red local.
Instalé un Ubuntu 14 LTS nuevo en VirtualBox, sin ningún servicio adicional (sin GUI, sin LAMP, sin OpenSSH...), y luego instalé solo Docker:
curl -sSL https://get.docker.com/ | sh
y he ejecutado un contenedor Odoo (OpenERP) (anteriormente ejecuté el contenedor postgree)
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
Muy simple. Parece que está funcionando. No instalé el navegador, pero me conecté vía telnet a 127.0.0.1:8069 y envié la solicitud GET. Respondió.
Ahora necesito acceder al servicio desde fuera. ¿Cómo?
La interfaz de red de VirtualBox está configurada como puente.
Configuré una IP fija (192.168.0.150) en la interfaz eth0 de Ubuntu.
UFW está deshabilitado
Puedo hacer ping a 192.168.0.150 desde otras computadoras y ubuntu responde.
Pero el navegador no detecta nada en 192.168.0.150:8069
No puedo conectarme vía telnet a 192.168.0.150:8069
Supongo que debe ser alguna configuración de redirección de puertos o mapeo de interfaz. ¿Usted me podría ayudar por favor? :)
Respuesta1
Finalmente encontré la respuesta. El problema fue la asignación del puerto. Si configura:
-p 127.0.0.1:8069:8069
estás exponiendo SÓLO localhost. Esta es una excelente opción de seguridad si solo necesita un servicio local y desea acceder a él únicamente desde el servidor. Pero, si desea exponer el puerto a TODAS las interfaces, simplemente escriba:
-p 8069:8069
Luego, podrá acceder al servicio a través de la red a través de la interfaz eth0 :)