Quiero exponer un contenedor acoplable que ejecute algún servicio en el puerto, digamos X en un servidor Linux para que sea accesible usando la URL, digamos http: // / ? ¿Cuáles deberían ser los pasos?

-3
Nishant Soni 26 may. 2020 a las 15:12

3 respuestas

Debe exponer su puerto de contenedor a la máquina host y luego puede acceder a eso. A continuación se muestra el ejemplo de Nginx

docker run -p 80:80 nginx

Ya que -p expone el puerto del contenedor 80 al puerto del host 80. Luego, puede acceder al servicio presionando localhost:80 o 127.0.0.1:80 o machineIP:80 en su navegador

0
nischay goyal 26 may. 2020 a las 13:58

Lo que necesita es un servidor proxy que se ejecute en Docker junto con sus servicios. Nginx, Apache o Traefik se pueden configurar para esto. La idea sería que solo el proxy realmente tenga un puerto expuesto, y enruta el tráfico a donde necesita ir en la red interna de Docker en función de la ruta.

0
CantankerousBullMoose 26 may. 2020 a las 23:29

Puede hacerlo exponiendo el puerto local de su acoplador a su máquina host

docker run -p hostport:containerport nginx

También puedes hacerlo para múltiples puertos

docker run -p 80:80 -p 5000:5000 nginx

Ahora tiene http: // localhost: port

Tiene varias formas de agregar un dominio en su máquina

  1. puede agregar URL agregando un dominio a la IP de su máquina host. requiere el reenvío del puerto IP de su máquina host.

  2. puede usar https://ngrok.com para obtener IP gratis en el dominio sin reenvío de puertos.

  3. Además, puede hacerlo localmente editando el archivo host de su máquina

0
Himel Rana 26 may. 2020 a las 12:40