在 iptables 中处理 docker 的可变 ip

在 iptables 中处理 docker 的可变 ip

在我的生产环境中,Docker 中的一些应用程序需要连接到后端服务,例如同一主机上的数据库。我发现我需要在 iptables 中设置例外才能接受这些连接。

但是,docker 网络的 ip 范围在重新启动时会发生变化。起初是 172.18.0.0/24,后来是 172.17.0.0/24 和 172.20.0.0/24,现在 ip 是 192.168.172.2 和 192.168.192.3。

如何接受来自容器内部的 Docker 流量以便可靠且安全地使用 mariadb?

编辑:答案似乎是指定 IPAM 配置,但附加到接口似乎更优雅

答案1

两个选项:

第一的

允许从docker0接口而不是特定 IP 范围进行访问。

iptable -A INPUT -i docker0 -dport 3306

第二

将数据库移入容器。

创建名为 network 的 docker

确保所有容器都连接到指定网络。然后,您应该能够从任何其他容器(在同一网络上)按名称访问数据库容器。

如果您需要从外部访问数据库,您可以映射端口并设置您想要保护的 iptables 规则。

相关内容