Métodos de pago Abuse

¿Qué son los puertos de contenedores?

10.09.2023, 23:08

Los puertos de contenedor son puertos de red específicos que pueden vincularse a servicios o aplicaciones concretos dentro de un contenedor.

Qué tienen de especial los contenedores

Cada contenedor puede tener sus propios puertos para comunicarse con el mundo exterior o con otros contenedores. Al iniciar un contenedor, puedes especificar qué puertos deben estar disponibles dentro del contenedor y qué puertos deben ser reenviados a la máquina anfitriona.

ports:

external_port:Internal port

Por ejemplo, reenviemos el puerto 80 como 8094:

docker-nginx:
  image: nginx
  ports:
    - '8094:80'

Cuando el contenedor se está ejecutando, la aplicación dentro del contenedor puede escuchar o enviar datos a través del puerto apropiado. Los usuarios pueden interactuar con la aplicación accediendo al puerto del contenedor que fue reenviado a la máquina anfitriona.

Cómo iniciar un contenedor

Para iniciar los puertos del contenedor, tendrás que utilizar el comando docker run con la bandera -p o --publish.

La sintaxis para el comando docker run con la bandera -p es la siguiente:

docker run -p <host port>:<container port> <image_name>

Donde:

<puerto-host> es el puerto en tu host que será proxyado al puerto del contenedor.

<puerto_del_contenedor> - el puerto dentro del contenedor al que se accederá a través del puerto del host especificado.

<nombre_de_imagen> - el nombre de la imagen del contenedor que desea ejecutar.

Por ejemplo, para iniciar un contenedor con un servidor web en el puerto 80 y proxy al puerto 8080 de su host, puede utilizar el siguiente comando:

docker run -p 8080:80 nginx

El servidor web que se ejecuta en el contenedor ahora será accesible en el puerto 8080 de su host.

También puede utilizar un rango de puertos especificando múltiples pares <puerto-host>:<puerto-contenedor>.

Por ejemplo:

docker run -p 8080-8082:80-82 nginx

Esto hará que los puertos 80, 81 y 82 del contenedor sean proxy a los puertos 8080, 8081 y 8082 de su host, respectivamente. Una vez que inicie el contenedor con los puertos proxy, podrá acceder a ellos a través de los puertos de host especificados.