Docker 中的 SSH 端口转发
SSH port forwarding in Docker
我有这两个容器,比如 backend
(CentOs) 和 mongo
。我想要的是,从 backend
容器中,我可以连接到 mongo 数据库,就好像它是本地的 运行,$> mongo localhost:27017
无论如何,据我了解,您可以像这样将端口 localhost:27017 映射到 mongo:27017
$backend> ssh -L 27017:mongo:27017 root@mongo
但是,如果我这样做,我必须提供 root 密码,然后它会让我登录到 mongo
容器并且没有端口转发发生
背景:我想这样做是因为我是 运行 一个连接到本地主机上的 Mongo 数据库的 Java 程序,我无法更改它。
我找到了正确的 SSH 端口转发命令
$> ssh root@mongo -L 27017:localhost:27017 -Nf
通常,此命令的想法是映射一个非 public 端口 - 通过 public 服务器映射到您拥有的 server/compute。
* `root@mongo` - the public server
* -L <port on your server>:<third server address>:<port>
* `-Nf` - Do not login
因为 public server
和 third server
相同 computer/container 你必须使用 localhost
:)
我有这两个容器,比如 backend
(CentOs) 和 mongo
。我想要的是,从 backend
容器中,我可以连接到 mongo 数据库,就好像它是本地的 运行,$> mongo localhost:27017
无论如何,据我了解,您可以像这样将端口 localhost:27017 映射到 mongo:27017
$backend> ssh -L 27017:mongo:27017 root@mongo
但是,如果我这样做,我必须提供 root 密码,然后它会让我登录到 mongo
容器并且没有端口转发发生
背景:我想这样做是因为我是 运行 一个连接到本地主机上的 Mongo 数据库的 Java 程序,我无法更改它。
我找到了正确的 SSH 端口转发命令
$> ssh root@mongo -L 27017:localhost:27017 -Nf
通常,此命令的想法是映射一个非 public 端口 - 通过 public 服务器映射到您拥有的 server/compute。
* `root@mongo` - the public server
* -L <port on your server>:<third server address>:<port>
* `-Nf` - Do not login
因为 public server
和 third server
相同 computer/container 你必须使用 localhost
:)