engine - ¿Cómo reenvío un puerto docker-machine a mi puerto host en OSX?
docker windows container (1)
Estoy entregando un contenedor de acoplamiento privado en mi empresa y quiero que mis colegas puedan acceder a nuestra red interna, el problema es que mi sistema operativo invitado es OSX y, por lo tanto, solo puedo acceder a mi aplicación utilizando la 192.168.99.100:3000 ip por defecto de la máquina docker.
¿Cómo puedo reenviar el puerto docker-machine 3000 a mi puerto host 80?
En este momento, Docker Machine es una máquina virtual que se ejecuta en VirtualBox en su máquina, por lo que para exponer el puerto de su aplicación, debe asignar el puerto de su máquina virtual a su puerto host.
Para lograr esto, hay dos opciones, pero antes de asegurarte de que tu Docker Machine deje de funcionar:
docker-machine stop default # see PS below if docker machine isn''t default
Opción 1 - Usar la interfaz de VirtualBox
- Abra VirtualBox Manager
- Seleccione su imagen Docker Machine VirtualBox (por ejemplo: predeterminado)
- Abra Configuración -> Red -> Avanzada -> Reenvío de puerto
- Agregue el nombre de su aplicación, el puerto de host deseado (por ejemplo: 80) y su puerto de invitado (por ejemplo: 3000)
Opción 2 - Usar la línea de comando de VirtualBox
Simplemente ejecute el siguiente comando con sus propios parámetros:
VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000"
Consideraciones finales
Ahora puedes poner en marcha tu Docker Machine:
docker-machine start default
eval $(docker-machine env default)
Luego simplemente inicie su aplicación Docker container y pruébelo ejecutando http://localhost/ .
PD: Es posible que el nombre de su Docker Machine no sea el predeterminado , en este caso, cambie el nombre en consecuencia.