En mi entorno de producción tengo algunas aplicaciones en Docker que necesitan conectarse a servicios de respaldo, por ejemplo, la base de datos en el mismo host. Descubrí que necesitaba hacer una excepción en iptables para aceptar estas conexiones.
Sin embargo, el rango de IP de la red acoplable varía entre reinicios. Al principio era 172.18.0.0/24, después 172.17.0.0/24 y 172.20.0.0/24, ahora las ips son 192.168.172.2 y 192.168.192.3.
¿Cómo se puede aceptar el tráfico de Docker desde dentro de un contenedor para decir mariadb de manera confiable y segura?
EDITAR: Una respuesta parece serespecificando la configuración de IPAM, pero adjuntarlo a una interfaz parece más elegante
Respuesta1
Dos opciones:
Primero
Permitir el acceso desde la docker0
interfaz en lugar de desde un rango de IP específico.
iptable -A INPUT -i docker0 -dport 3306
Segundo
Mueva la base de datos a un contenedor.
Crear una ventana acoplable llamada red
Asegúrese de que todos los contenedores estén conectados a la red nombrada. Luego debería poder acceder al contenedor de la base de datos por su nombre desde cualquier otro contenedor (en la misma red).
Si necesita acceder a la base de datos externamente, puede asignar el puerto y configurar las reglas de iptables que desee para protegerlo.