networking - for - Cómo conectarse al host docker desde el contenedor en Windows 10(Docker para Windows)
get docker community edition for windows (2)
¿En qué dirección IP puede un contenedor Docker conectarse a su host en Docker para Windows (en Windows 10)? ¿Cómo encuentras esta dirección IP?
Ejemplo: tiene un servicio ejecutándose en el puerto 1234 en su máquina con Windows 10. Un programa dentro de su contenedor debe acceder a este servicio. ¿Qué dirección IP debe usar el programa para conectarse al host?
Una de las opciones que le permite conectarse del contenedor al host es ejecutar su contenedor con el parámetro
--net="host"
Ejemplo:
docker run -it --net="host" container_name
Luego, desde el contenedor, puede conectarse al servicio en el host utilizando:
localhost:port
Pero en este caso, no podrá vincular más contenedores con el parámetro
--link
.
Más sobre este tema: http://phillbarber.blogspot.sk/2015/02/connect-docker-to-service-on-parent-host.html
ACTUALIZACIÓN
Desde la versión
18.03
, puede usar el nombre DNS
host.docker.internal
, que se resuelve en la dirección IP interna utilizada por el host.
Más: https://docs.docker.com/docker-for-windows/networking/
En versiones anteriores, puede conectarse al servicio que se ejecuta en el host Windows utilizando la dirección IP que obtiene al ejecutar el comando ipconfig en el host -> Adaptador Ethernet -> Dirección IPv4
ACTUALIZACIÓN
Según el comentario de Datz a continuación,
docker.for.win.localhost
está trabajando en Docker para Windows (confirmado).
Respuesta corta : en la mayoría de los casos, necesitará 10.0.75.1 .
En Docker para Windows, el contenedor se comunica a través de un adaptador vEthernet llamado DockerNAT. Para encontrar sus detalles, abra el símbolo del sistema y escriba
ipconfig
Busque una entrada que se parezca
Ethernet adapter vEthernet (DockerNAT):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::fd29:297:4583:3ad4%4
IPv4 Address. . . . . . . . . . . : 10.0.75.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
La dirección IP a la derecha de la
IPv4 Address
es la que necesita.
Nota: asegúrese de que el servicio permita conexiones desde fuera de su host. En lo que respecta a ese servicio, su contenedor acoplable es una máquina diferente. También asegúrese de que Firewall de Windows permita la comunicación hacia y desde el servicio.