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

问题描述

我有一台运行多个 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 文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...