Docker Toolbox-Localhost no funciona


Así que estoy usando Docker Toolbox porque no tengo Hyper-V en mi máquina ya que no es Windows 10 pro. Todo parece funcionar bien, pero cuando intento ir en mi navegador 0.0.0.0:80 siempre me devuelve: Este sitio no se puede alcanzar

Pero cuando corro el comando: docker container ps obtengo lo siguiente: 0.0.0.0:80->80/tcp lo que significa que esta dirección debería funcionar. Busqué en los problemas de stackoverflow y github. Ahora estoy atascado.

¿Me estoy perdiendo algo?

Gracias, Mark

EDITAR:

Usando docker-machine ip default me devuelve 192.168.99.100. Ejecutar en el puerto 80. Todavía obtengo el mismo resultado, excepto que la dirección se convierte en el id del contenedor: https://fd677edg12

Corro ese comando en cmd para encontrar mi ipv4: cmd /k ipconfig /all. Pon el resultado con el puerto y devuelve lo mismo: https://fd677edg12

Author: Mark, 2017-03-17

3 answers

Docker Toolbox no tiene tantas comodidades como Docker para Windows, pero está en lo correcto al usarlo ya que está en Home edition.

En Toolbox, nada será localhost, y será 192.168.99.100 por defecto, ya que está ejecutando una VM Linux en VirtualBox.

Así que si se ejecuta docker run -p 80:80 nginx

(observe que tuve que publicar un puerto para 192.168.99.100 para escuchar ese puerto)

Entonces ir a http://192.168.99.100 debería funcionar.

 54
Author: Bret Fisher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-19 11:28:22

Inicialmente tuve algunos problemas con el acceso a mis aplicaciones en localhost:8080 mientras usaba DockerToolBox y OracleVM VirtualBox.

En VirtualBox:

  1. Haga clic en la máquina apropiada (probablemente la etiquetada como "predeterminada")
  2. Ajustes
  3. Red > Adaptador 1 > Avanzado > Reenvío de puertos
  4. Haga clic en " + " para agregar una nueva regla
  5. Establecer el puerto del host 8080 & Guest Port 8080; asegúrese de dejar la IP del host y la IP del invitado vacías

Ejecute el orden:

docker run -p 8080:8080 ${image_id}
 21
Author: EJJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-09 16:02:57

Estaba siguiendo el tutorial de docker para windows en https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell y se quedó atascado en el paso #6 cuando prueba nginx en el navegador web. Parece que me enfrenté a un problema similar ya que también uso Windows Home y no tengo Hyper-V. Mi solución es bastante simple:

  1. compruebe el valor predeterminado de la IP de docker

Default docker-ip por defecto de la máquina

192.168.99.100

  1. Ir a Oracle Máquina virtual a establecer para el reenvío de puertos. Asegúrese de que la configuración de red es NAT y agregue el reenvío de puertos. IP de host: 127.0.0.1, IP de invitado: 192.168.99.100, puerto todo configurado en 80 así

  2. Inténtelo de nuevo en su navegador y ejecute http://localhost o http://127.0.0.1 (puede agregar el puerto 80 también). Debería funcionar.

La cosa es que la IP nginx está destinada a ser accesible dentro de la máquina Virtual de docker, por lo que necesitamos ese reenviamiento de puertos configuración para acceder directamente en el navegador de la máquina host

 15
Author: nitya wijayanti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-18 11:29:46