如何将数据包从一个 docker 网络路由到另一个

时间:2021-05-05 19:34:52

标签: mysql docker-compose routes prometheus ufw

我有一台运行多个 Web 应用程序的服务器,每个应用程序都在自己的 docker 容器中。许多这些应用程序都有数据库容器。我想使用 docker 容器中的 prom/mysqld_exporter 将这些数据库连接到我的 prometheus docker 容器。

所有应用程序都是使用 docker-compose 创建的,每个应用程序使用自己的网络(172.16.nn.0/24,其中每个应用程序的 nn 不同)。即使数据库暴露了一个端口,也都绑定到127.0.0.1,所以除了主机本身无法连接。

我的计划是有一个监视器 docker-compose 文件,每个数据库都有一个 mysqld_exporter,直接连接到每个应用程序的数据库容器中相应的 IP 地址端口 3306。

我正在运行 ufw(防火墙)。当然,我对 docker 阻止其不同网络之间的路由这一事实感到不快。

一种解决方案是将每个 mysqld_exporter 添加到与它要监视的数据库相同的 docker-compose 文件中。但是不必更改网络应用程序的 docker-compose 文件真的很好。

是否有另一种强大的方式允许不同容器中的特定 IP 地址和端口之间的连接,或者我必须硬着头皮修改应用程序 docker-compose 文件?

0 个答案:

没有答案
相关问题