DBeaver/pgadmin 通过跳转服务器连接数据库

DBeaver/pgadmin 通过跳转服务器连接数据库

我正在使用 docker swarm 来管理我的堆栈。我不想将我的数据库公开(主机上的 5432 端口不应打开),但我仍然想使用 dbeaver 或 pgadmin。

问题是 docker swarm 不能将容器端口仅暴露给 127.0.0.1,而会将其暴露给 0.0.0.0。因此,我无法通过 ssh 简单地隧道连接到我的数据库服务器并连接到 localhost:5432。

我的想法是在我和我的数据库之间设置一个jumphost(docker容器)。

客户端 --SSH--> Jumphost(容器) ----> 数据库(Postgres 容器)

但是,这不适用于 dbeaver 或 pgadmin。当我建立 ssh 隧道到 jumphost 然后输入我的数据库凭据时,出现错误Connection reset。SSH 隧道可以正常工作。

其他人有类似的设置吗?你是如何解决这个问题的?

相关内容