我尝试使用Docker运行2个容器(问题不是特定于他们):
每个容器都有一个转发的端口:
127.0.0.1:3000 -> 3000/tcp 127.0.0.1:3306 -> 3306/tcp 正如你所看到的,目标是让他们只能在主机内访问。
一个Nginx服务器(不是通过Docker安装的)侦听端口80,并将任何请求redirect到Redmine容器端口(使用代理function: proxy_pass等)。
所有这一切完美的作品,当我去服务器IP,我可以访问Redmine。
但是,我想要使用iptables添加一些安全性。 所以,目标是:
首先,我尝试添加--iptables=false选项来停止--iptables=false搞乱我的iptables。 重启后,我认为,用干净的iptables(所有的政治默认设置为ACCEPT ,所以没有任何事情完成),一切都会工作。 但事实并非如此,我得到了来自Nginx的"502 Bad Gateway"响应。 我不明白为什么不添加额外的规则,如果Docker无法工作(如果全部是开放的,它应该工作…不是?)。
我试图阅读有关Docker中高级networking的文档,我也尝试了多个教程,但是我找不到阻塞Docker的东西:
我不是一个Linux / Docker / SysAdmin专家,所以也许,对于你们中的一些人来说,这是显而易见的(至less我希望!)。
不要犹豫,如果需要更多的细节问。
预先感谢您的回答。