network
BRIDGE Driver
- Docker monta otra red y para acceder desde fuera del host (o desde el host) a través de mapeo de puertos
- Docker se encarga de montarlo
OVERLAY Driver
redes por defecto (en instalación docker)
- bridge : puente
- host : misma red que el host (le preguntará el DHCP de la red)
- none : sin red, sin interfaz (solo loopback)
comandos
docker network lsdocker network inspect <network_id>docker network create –driver [bridge|host|none] <nombre_network>: crea una nueva red con otro rango
comunicación entre contenedores
- vieja usanza:
docker run -d –name nginx nginx:alpine && docker run -it –name alpine –link=nginx:nginx alpine sh: con el comando –link vinculamos el nombre nginx al contenedor nginx (modifica el fichero /etc/hosts) → método previo a 17.2 (está deprecado) → tiene dependencias (has de tener arrancado el primer contenedor para que funcione- después de la 17.2, en la bridge por defecto, automáticamente añade los contenedores a otro host → mismo problema de dependencia, solo añade los contenedores vivos en ese momento.
docker run -d –name nginx –network=<nombre_network> nginxdocker run -it –network=test alpine sh: desde este contenedor podemos acceder al primero y la resolución es vía DNS (se encarga Docker de gestionar) La red bridge por defecto funciona a la vieja usanza (por compatibilidad) y una red «personalizada» usa DNS para resolver
comunicación entre redes diferentes
docker network connect NETWORK CONTAINER: añadimos otro interfaz de red para que el contenedor tenga acceso a las dos redes
prune
docker network prune: elimina las redes «huérfanas»docker network rm: eliminar redes a mano

