Docker容器暴露的远程访问服务

时间:2015-01-15 03:50:07

标签: docker remote-access

我编写了一个监听tcp 9999和udp 9966的simiple程序,并将程序包装到这样的docker容器中:

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

另外,从远程机器中得不到任何东西。所以,我的问题是,如何将程序公开的端口重定向到我的主机之外?

1 个答案:

答案 0 :(得分:0)

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

相关问题