docker run -itd -p 80:80 busybox /bin/sh 想通过-p 这种方式映射宿主与容器的端口的命令,一般都是可以直接通过访问主机ip+80端口进行访问,但是生产环境不能把所有微服务的端口打开,所以明白-p通过iptables做了些什么,我们才能不让其通过映射的端口进行直接访问容器,而是通过iptables规则来让他是否访问指定的端口。
默认情况会生成两条规则 第一个是映射规则,第二个是用来过来nat访问过来的请求的,
所以砍掉nat外网就不会进去容器中了,但是要想访问怎么办
我目前是通过往iptables的INPUT中添加需要访问的容器映射的端口来让外网可以访问容器的,所有的端口的入口统一由INPUT来控制,但是每次重启容器这些规则还是会生成,目前很困惑,也没有很好的办法可以解决。谁有好办法,也麻烦说声,感激不尽。