2015-01-15 193 views
1

我写了监听TCP 9999和UDP 9966,以及包装程序到这样一个码头工人容器simiple程序:远程访问服务

FROM jeanblanchard/busybox-java 
ADD testprg /opt/testprg 
EXPOSE 9999 
EXPOSE 9966/udp 
ENTRYPOINT ["/opt/testprg/start.sh"] 

然后像这样运行的泊坞窗:

docker run -d -P testprg 

docker ps -a结果(PORTS部分):

0.0.0.0:14355->9966/udp, 0.0.0.0:14337->9999/tcp 

一切看起来不错,我可以telnet到localhost 14337并获得响应,但不是来自远程机器。而我试过用lsof -i :14337netstat -nat | grep docker,什么也没有。

我也尝试添加这样iptable路线:

sudo iptables -t nat -A PREROUTING -i 192.168.1.101 -p tcp --dport 14355 -j REDIRECT --to-port 9999 

而且,得到了来自远程机器罢了。所以,我的问题是,如何将我的程序暴露的端口重定向到我的主机之外?

回答

0

哈哈,对不起,我的错误,我的远程机器与我的主机不在同一个网络中,这个配置就像一个魅力。