从Docker容器中访问主机的ssh隧道

使用Ubuntu tusty,有一个服务运行在远程机器上,我可以通过端口转发通过ssh隧道从localhost:9999

我有一个docker集装箱运行。 我需要通过主机的隧道从容器内访问远程服务。

我尝试使用-L 9000:host-ip:9999从容器隧道到主机,然后通过容器内的127.0.0.1:9000访问服务失败。 为了检查端口映射是否打开,我nc -luv -p 9999 # at host nc -luv -p 9000 # at container尝试了nc -luv -p 9999 # at host nc -luv -p 9000 # at container

在这之后,parag。 2但是没有感知到的通信,即使在容器上执行nc -luv host-ip -p 9000

我也尝试通过docker run -p 9999:9000来映射端口,但是这会报告绑定失败,因为主机端口已经在使用了(从主机隧道到远程机器,据推测)。

所以我的问题是

1 – 我将如何实现连接? 我是否需要为主机设置一个ssh隧道,或者单独使用docker port mapping来实现?

2 – testing连接是否正常的快速方法是什么? 通过bash,最好。

谢谢。

我认为你可以通过添加--net=host到你的docker运行。 但是也请看这个问题:将主机端口转发到docker容器