UFW 规则不适用于 docker

jrg*_*jrg 8 firewall ufw docker

我有一个 12.04.4 服务器,我启用了 ufw,并试图阻止 port 8080。但是,它仍然是开放的。

$ sudo ufw deny 8080
Rule added
Rule added (v6)

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 8080                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    Anywhere (v6)
[ 5] 80                         ALLOW IN    Anywhere (v6)
[ 6] 8080                       DENY IN     Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)

想法?我仍然可以访问8080上的网站。我已经重新启动了几次系统。IP 地址是通过静态分配处理的,但我找不到任何表明这是问题的内容。

我试图阻止的服务在 docker 实例上,但是这个问题没有帮助。

jrg*_*jrg 4

我使用的docker 模板用于 Discourse。我通过编辑containers/app.yml文件以将其包含在“暴露”部分下解决了这个问题:

 - "127.0.0.1:20080:80"
Run Code Online (Sandbox Code Playgroud)

这意味着它将 127.0.0.1 上的端口 20080 路由到 docker 实例上的端口 80,从而完全不需要 ufw 规则。