remove machine engine container compose all docker containers docker-machine

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.