Docker中的SSH端口转发

我有这两个容器,例如backend(CentOs)和mongo。我想拥有的是,可以从backend容器中连接到mongo数据库,就像它在本地运行一样,$>

mongo localhost:27017

无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017

$backend> ssh -L 27017:mongo:27017 root@mongo

但是,如果执行此操作,则必须提供root密码,然后它会将我登录到mongo容器中,并且不会发生端口转发

背景:我想这样做是因为我正在运行一个Java程序,该程序连接到localhost上的Mongo数据库,而我无法更改它。

回答:

我找到了正确的SSH端口转发命令

$> ssh root@mongo -L 27017:localhost:27017 -Nf

通常,使用此命令的想法是您将一个非公共端口映射-通过公共服务器映射到您自己的服务器/计算机。

* `root@mongo` - the public server

* -L <port on your server>:<third server address>:<port>

* `-Nf` - Do not login

因为public serverthird server是同一台计算机/容器,所以您必须使用localhost:)

以上是 Docker中的SSH端口转发 的全部内容, 来源链接: utcz.com/qa/408133.html

回到顶部