usar tutorial que imagenes hub ejemplos dockers container compose como docker localhost docker-machine

tutorial - Conéctese a la docker-machine usando ''localhost''



mysql en docker (2)

Al editar su archivo de hosts su máquina local solo mira directamente a la dirección IP especificada para un dominio. Por lo tanto, podría agregar la dirección IP de la docker-machine al etc/hosts en su máquina local y asignar el puerto 80 en su contenedor al puerto 80 en la docker-machine .

Ejemplo:

1) Obtener la dirección IP del host de Docker

$ docker-machine ip default 192.168.99.100

2) Agregue esta línea al etc/hosts en su máquina local

192.168.99.100 domain.com

3) Verifique que su máquina esté resolviendo el dominio.

$ ping domain.com PING domain.com (192.168.99.100): 56 data bytes 64 bytes from 192.168.99.100: icmp_seq=0 ttl=64 time=0.294 ms 64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.437 ms 64 bytes from 192.168.99.100: icmp_seq=2 ttl=64 time=0.556 ms 64 bytes from 192.168.99.100: icmp_seq=3 ttl=64 time=0.270 ms

Notas:

  • Para los usuarios de Windows, el archivo de hosts está localizado en C:/Windows/System32/Drivers/etc/hosts
  • Si desea admitir varios dominios en una sola máquina-docker, puede crear un contenedor proxy con nginx dentro de sus otros contenedores.

Hay ciertas funciones, como JavaScript service workers sin https, que solo funcionan en localhost, pero cuando ejecuto mi aplicación dentro de un contenedor de docker, usando docker-compose, que se ejecuta sobre docker-machine, necesito conectarme a él usando la dirección que recibo de

docker-machine ip default

¿Hay alguna forma de asignar localhost a esa ip?


Puede agregar un puerto de acceso VirtualBox para mapear un puerto en el host Docker a su máquina local.

Suponiendo que su máquina acopladora se llama "predeterminada" y desea asignar el puerto 80 en su contenedor a localhost: 8888, puede ejecutar:

vboxmanage modifyvm default --natpf1 "nameformapping,tcp,,8888,,80"

o si la máquina virtual se está ejecutando

vboxmanage controlvm default natpf1 "nameformapping,tcp,,8888,,80"

Esto también se puede hacer en la interfaz de usuario de VirtualBox en la configuración de la máquina virtual. Aquí está el documento de VirtualBox https://www.virtualbox.org/manual/ch06.html#network_nat

También necesitará asignar el puerto de su contenedor al puerto de la docker machine, lo hará cuando inicie el contenedor (esto también supone que tiene un comando "EXPOSE 80" en su Dockerfile

docker run -p 80:80 mycontainer

https://docs.docker.com/engine/reference/run/

También vea: https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md