【发布时间】:2017-01-30 16:16:39
【问题描述】:
我有这两个容器,比如说backend (CentOs) 和mongo。我想要的是,从backend 容器中,我可以连接到 mongo 数据库,就好像它在本地运行一样,$> mongo localhost:27017
无论如何,据我了解,您可以像这样将端口 localhost:27017 映射到 mongo:27017
$backend> ssh -L 27017:mongo:27017 root@mongo
但是,如果我这样做,我必须提供 root 密码,然后它将我登录到 mongo 容器,并且不会发生端口转发
背景:我想这样做是因为我正在运行一个 Java 程序,该程序连接到本地主机上的 Mongo 数据库,我无法更改它。
【问题讨论】:
-
您使用的是原生 linux 主机还是类似 docker 机器的东西?运行
ssh -L命令时是否有任何错误消息? -
我正在使用
docker-compose。我可以将ssh从backend变为mongo。它在 Mac 上,所以我猜它仍然是docker-machine某处 -
我已经添加了几个我尝试过的示例以及结果如何。此外,我认为这个问题与 docker 无关,而是我不了解 SSH 端口转发
-
@Jeanluca:我们不在这里使用 [已解决的] 标题黑客。请接受下面最符合您的解决方案(包括您自己的解决方案)的答案。
标签: ssh docker portforwarding ssh-tunnel