阻塞除Docker之外的端口

我通过Docker在我的服务器上安装了一个jenkins,并将其分配给了一个特定的域(jenkins.mydomain.com),这非常好。 但是,如果我使用服务的端口浏览我的域名,我也可以访问jenkins(和docker工具中的其他服务),例如:mydomain.com:8181
我已经尝试了一些东西来阻止从外部的端口,使它只能通过域访问,但没有运气。
首先,我尝试阻止eth0接口的端口:

iptables -A INPUT -i eth0 -p tcp --destination-port 8181 -j DROP 

但它没有工作,因为当我试图从域名到达jenkins,我得到了错误503。
还试图阻止端口除了docker的IP每个传入的请求。 它也没有工作。
那么我怎样才能让外部端口无法访问,但Docker可以访问?


iptables -L -n – 行号

 Chain INPUT (policy ACCEPT) num target prot opt source destination Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 DOCKER-ISOLATION all -- 0.0.0.0/0 0.0.0.0/0 2 DOCKER all -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain DOCKER (1 references) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 tcp dpt:3000 2 ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 tcp dpt:22 3 ACCEPT tcp -- 0.0.0.0/0 172.17.0.3 tcp dpt:8081 4 ACCEPT tcp -- 0.0.0.0/0 172.17.0.4 tcp dpt:50000 5 ACCEPT tcp -- 0.0.0.0/0 172.17.0.4 tcp dpt:8080 Chain DOCKER-ISOLATION (1 references) num target prot opt source destination 1 RETURN all -- 0.0.0.0/0 0.0.0.0/0