Estoy ejecutando Docker para Mac. cuando corro
docker run -d --rm --name nginx -p 80:80 nginx:1.10.3Puedo acceder a Nginx en el puerto 80 de mi Mac. cuando corro
docker run -d --rm --name nginx --network host -p 80:80 nginx:1.10.3No puedo.
¿Es posible usar "--network host" y publicar un puerto para que sea accesible desde mi Mac?
Alternativamente, ¿puedo acceder a Nginx desde mi Mac a través de la IP de HyperKit VM?
Sin el indicador --network , el contenedor se agrega a la red bridge de forma predeterminada; que crea una pila de red en el puente Docker (generalmente la interfaz veth).
Si especifica --network host , el contenedor se agrega a la pila de red del host de Docker. Tenga en cuenta que el contenedor compartirá el espacio de nombres de red del host y, por lo tanto, todas sus implicaciones de seguridad.
Lo que significa que no necesita agregar -p 80:80, sino ejecutar...
docker run -d --rm --name nginx --network host nginx:1.10.3
y acceda al contenedor en http://127.0.0.1
El siguiente enlace ayudará a responder la pregunta de HyperKit y las limitaciones actuales:
https://docs.docker.com/docker-for-mac/networking/
No hay puente docker0 en macOS
Debido a la forma en que se implementa la red en Docker para Mac, no puede ver una interfaz docker0 en macOS. Esta interfaz está realmente dentro de HyperKit.