en Blog profesional

El otro día me propuse hacer un tutorial rápido sobre docker, pero me quedó un poco coja la parte de red, así que hoy voy a intentar avanzar un poco más, porque docker es un tema realmente fascinante, así que si me prestáis un rato de vuestro preciado tiempo intentaremos avanzar un poquito más por el camino de docker.

El otro día empezamos a hablar un poco de red en docker y os comenté como enlazar un puerto externo a uno interno con -p puerto_externo:puerto_de_docker pero claro, eso está bien si ejecutamos un sólo contenedor, pero ¿qué ocurre si estamos ejecutando varios?, llevar el control de los puertos puede ser complejo así que tenemos la opción de la gestión dinámica de puertos.

Para ver los puertos asignados dinámicamente lo hacemos con docker port y el nombre

A mi personalmente me gusta fijar los puertos siempre que sea posible, pero la opción ahí está.

Y si queremos fijar un puerto, pero UDP podemos indicarlo

Imaginad un servidor de DNS dockerizado, pues ahí podríamos mostrar un puerto udp, el 53.

Ahora vamos a ir un poco más allá y vamos a conectar por red dos contenedores. Para ello tenemos la opción de conectarlos vía el host, vía el mapeo de puertos definido antes, no creo que haga falta hablar más de ello, o bien, directamente, de un contenedor a otro, pero sin usar el host.

Una opción es la del enlace directo, en la que tenemos una arquitectura cliente servidor, donde el cliente se lanza con la opción –link que lo que hace es meter en el fichero de hosts el contenedor que queramos.

Pero claro, lo suyo es crear una red para aquellos contenedores que se quieran ver entre sí.

La red se crea con docker network create y docker nos asignará un direccionamiento con su NAT y todo.

Hay una cosa que podemos hacer y es limitar el acceso a la red de docker vía el PAT en función de la IP que accede, por ejemplo.

Escribir un comentario

Comentario