Cuando comienza un contenedor con Docker, todas las aplicaciones en el contenedor se ejecutan en puertos específicos. Si desea utilizar un número de puerto para acceder a una aplicación específica, primero debe asignar el número de puerto del contenedor al número de puerto del host de Docker. Los contenedores pueden usar asignaciones de puertos para enviar y recibir tráfico a través de los puertos en la instancia de contenedor de host. Las asignaciones de puerto del contenedor se definen como parte de la definición del contenedor. El número de puerto en el contenedor que está conectado al puerto host fue elegido por el usuario o asignado automáticamente.
Los contenedores en Docker pueden tener sus aplicaciones ejecutadas en puertos. Al ejecutar un contenedor, debe asignar el número de puerto del contenedor al número de puerto del host de Docker si desea conectar la aplicación del contenedor a través de un número de puerto. En este tutorial, le explicaremos sobre el mapeo de un puerto de host a un puerto de contenedores en Docker.
Requisitos previos
Para asignar un puerto de host a un puerto de contenedor, debe instalar Ubuntu 20.04 Sistema operativo. Además, asegúrese de que el Docker se instale en él. De lo contrario, todo este tutorial no será constructivo para usted. Si actualmente no ha instalado Docker, puede hacerlo simplemente ejecutando el comando escrito a continuación en el terminal de línea de comandos.
$ sudo apt instalación docker.IOHemos comenzado el comando con la palabra clave "sudo" que significa que debe tener derechos de acceso de usuario raíz para fines de instalación.
Método para asignar un puerto de host a un puerto de contenedor en Docker
Para asignar un puerto de host a un puerto de contenedor en Docker, inicialmente, debe abrir el shell de la línea de comando en su sistema operativo. Puede abrirlo buscando en el menú de la aplicación escribiendo la palabra clave "terminal" en la barra de búsqueda o utilizando la tecla de acceso directo "Ctrl+Alt+T". Una vez que se abre, debe escribir el comando cotizado a continuación para ejecutar la imagen llamada 'Nginx' con el -PAG bandera.
$ sudo Docker Run -ITD -P NginxComo hemos utilizado la palabra clave "sudo" al inicio del comando, el sistema preguntará la contraseña. Después de proporcionar la contraseña, se creará la imagen requerida. Ahora, es el momento de mostrar las imágenes de Docker. Use el comando adjunto a continuación para completar su tarea.
$ sudo docker psComo se muestra en la imagen adjunta arriba, puede ver la ID del contenedor, la imagen, el comando, el tiempo de creación y el estado junto con el número de puerto. Hemos resaltado el número de puerto de 'Nginx' es decir: 49153-> 80.
Ahora, ejecutaremos el comando que se menciona a continuación:
$ sudo Docker Run -ITD -P NginxUna vez ejecutado con éxito, debe enumerar las imágenes nuevamente utilizando este comando.
$ sudo docker psComo se destaca en la imagen, puede verificar que el valor se ha incrementado en 1, que es 49154-> 80. Ahora, debe verificar la imagen con el comando Docker Inspect para ver qué puertos expone el contenedor. Debe ejecutar el siguiente comando adjunto en la ventana del terminal.
$ sudo docker inspeccionar nginxEl comando inspeccionar devuelve un objeto JSON como resultado. Podemos ver una parte de "expositionports" en la salida si miramos de cerca la imagen adjunta que se muestra arriba. Debe actualizar el comando Docker ejecutivo para incluir la opción '-p', que indica la asignación de puertos, para ejecutar NGINX y asignar los puertos. Como resultado, debe implementar el siguiente comando adjunto.
$ sudo Docker Run -P 80:80 -P 50:50 NginxEl puerto de host de Docker para mapear está principalmente en el lado izquierdo de la asignación del número de puerto, mientras que el número de puerto de contenedor Docker estaría en el lado derecho. Notará Nginx Up y operan cuando inicie el navegador y vaya al host de Docker en el puerto 80.
Conclusión
En esta guía, hemos aprendido sobre el mapeo de un puerto host a un puerto de contenedores en Docker. Creo que ahora podrás mapear fácilmente un puerto de host a un puerto de contenedores en Docker buscando este tutorial.