Inicio Infraestructuras y redes Contenedores Docker: crear containers en la misma red

Docker: crear containers en la misma red

0
10227
Logotipo de docker

Uno de los aspectos esenciales en los contenedores son las redes. De forma habitual cada container lanzado tiene una red independiente. En esta entrada os vamos a explicar c贸mo proceder para crear dos containers de docker en la misma red sin depender del mismo despliegue.

Como es habitual, utilizaremos la herramienta de docker-compose pues as铆 adem谩s de poder leer lo que escribimos, nos servir谩 para utilizar nuestro despliegue de forma escrita en lugar de usando los comandos. Es algo que recomiendo personalmente pues as铆 nos acostumbramos a escribir nuestro c贸digo en ficheros. Ya que gran parte de las herramientas utilizadas a d铆a de hoy por SRES est谩n pensadas para utilizarlas escribiendo nuestro c贸digo, es una forma m谩s de mantener y organizarlo todo. Procedemos con la creaci贸n de nuestros containers de docker en una misma red.

Para empezar, creamos una nueva red con el siguiente comando:

docker network create --driver=bridge --subnet=192.168.50.0/24 network_test
  • Driver Bridge: Este tipo de driver es el gen茅rico y el m谩s com煤n.
  • Subnet: Simplemente la subnet que queramos.
  • Nombre de la red: Network_test

Utilizaremos los siguientes ficheros para desplegar un contenedor b谩sico con nginx

web1/docker-compose.yml

version: "3.9"
services:
  web1:
    image: nginx:stable-alpine
    ports:
      - "900:80"
    networks:
      - network_test
networks:
  network_test:
    external: true

web2/docker-compose.yml

version: "3.9"
services:
  web2:
    image: nginx:stable-alpine
    ports:
      - "901:80"
    networks:
      - network_test
networks:
  network_test:
    external: true

El comando docker network create nos permite crear una red interna de docker en funci贸n de los par谩metros que le pasemos.

Si ahora hacemos un docker inspect sobre nuestros contenedores deploy2_web2_1 y deploy1_web1_1, podremos comprobar como tendremos asignadas unas IPs del rango 192.168.50.1/24

Tan simple como usar el tag 芦networks禄. El motivo de utilizar el tag 芦external: true禄 es solamente para indicar que es una red externa de docker. Tambi茅n podr铆amos no indicar este par谩metro y entonces se crear铆a la red junto con nuestro contenedor, el otro contenedor si tendr铆amos que utilizar el tag para unirlo a la red.

En esta entrada os dejo la documentaci贸n oficial de docker respecto a network create. Aqu铆 te dejo otra entrada r谩pida de leer, pero no menos importante, quieres entender la diferencia entre 芦expose禄 y 芦port禄? no te pierdas mi anterior entrada.

隆Hasta la pr贸xima!

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aqu铆