我想在我的服务器中运行码头集装箱,并将特定端口暴露给同一内部网中的其他服务器。但我不希望我的容器可以通过互联网在外面访问。如何使码头集装箱只能在内部网中访问
有没有解决方案适合我的情况?
任何帮助将不胜感激。
我想在我的服务器中运行码头集装箱,并将特定端口暴露给同一内部网中的其他服务器。但我不希望我的容器可以通过互联网在外面访问。如何使码头集装箱只能在内部网中访问
有没有解决方案适合我的情况?
任何帮助将不胜感激。
如果您的主机在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。
谢谢。我不使用Windows。我不认为窗户和码头是好搭档。 – morphinewan 2014-12-02 21:53:07
也许,使用'iptables'可能会有所帮助。 – Dharmit 2014-12-02 12:03:27
启用防火墙。 – 2014-12-02 21:24:30
你可以举一些iptables的例子吗? – morphinewan 2014-12-02 21:54:46