使用ubuntu tusty,在远程计算机上运行了一项服务,我可以通过SSH隧道通过端口转发访问该服务localhost:9999。
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
-L 9000:host- ip:9999
127.0.0.1:9000
nc -luv -p 9999 # at host nc -luv -p 9000 # at container
在此之后,parag。2,但即使nc -luv host-ip -p 9000 在集装箱处也没有察觉的交流
nc -luv host-ip -p 9000
我还尝试通过映射端口docker run -p 9999:9000,但是这报告绑定失败,因为主机端口已被使用(从主机隧道到远程计算机,大概是在使用中)。
docker run -p 9999:9000
所以我的问题是
1-如何实现连接?我是否需要设置一条通往主机的ssh隧道,还是可以仅通过docker端口映射来实现?
2-测试连接正常的快速方法是什么?最好通过bash。
谢谢。
我认为您可以通过添加--net=host到docker run中来做到这一点。但也请参见以下问题:将主机端口转发到Docker容器
--net=host