2014-12-02 77 views
0

我想在我的服务器中运行码头集装箱,并将特定端口暴露给同一内部网中的其他服务器。但我不希望我的容器可以通过互联网在外面访问。如何使码头集装箱只能在内部网中访问

有没有解决方案适合我的情况?

任何帮助将不胜感激。

+2

也许,使用'iptables'可能会有所帮助。 – Dharmit 2014-12-02 12:03:27

+0

启用防火墙。 – 2014-12-02 21:24:30

+0

你可以举一些iptables的例子吗? – morphinewan 2014-12-02 21:54:46

回答

0

如果您的主机在Windows上运行,您可以配置防火墙以允许仅从该机器访问该特定端口。 另一个选择是配置boot2docker(通过iptables)来限制只访问特定IP地址的访问。但我认为它仅适用于当前会话:您必须编辑boot2docker映像并将其添加为永久使用。缺点是在boot2docker内docker中运行的所有docker映像将受到此更改的影响。

所以,我的建议是限制对主机端的访问,如:

c:\>boot2docker init 
c:\>boot2docker up 
c:\>boot2docker ssh -L 0.0.0.0:8080:localhost:8080 
[email protected]:~$ docker run -p 8080:8080 myContainer 

,并限制计算机主机的防火墙级别端口8080。

+1

谢谢。我不使用Windows。我不认为窗户和码头是好搭档。 – morphinewan 2014-12-02 21:53:07