使用 iptables 阻止 Docker 容器上的端口

使用 iptables 阻止 Docker 容器上的端口

我在 Docker 的 3007 端口上运行了一个服务,它的设置如下:

services:
    api:
        ports:
        - 3007:80

我尝试向 DOCKER-USER 链添加一条规则来阻止该端口上的非本地流量:

iptables -I DOCKER-USER -p tcp --dport 3007 ! -s 127.0.0.1 -j DROP

但是,这不起作用。查看 DOCKER 链上的规则,似乎转发的端口是容器内部的端口(80 而不是 3007),所以我不确定如何管理对它们的访问。

答案1

将暴露的端口绑定到环回接口。

services:
    api:
        ports:
        - "127.0.0.1:3007:80"

相关内容