ufw 无法禁用 docker端口问题
装好了docker
,以及 ufw
然后禁用了 3000
端口, ufw deny 3000
并且启动了一个容器
启动命令是这样的 docker run -it -p 3000:3000 python
但之后发现一个问题, IP:3000 居然可以访问到
查询资料得知, 淦, 发现这是个陈年老问题了
查到一个好用的 repo, https://github.com/chaifeng/ufw-docker
并且按照他的教程进行了设置
但是紧接着发现了问题
这样设置完之后, 开放端口3000
(ufw allow 3000), 居然不生效了
看了下 readme 显示 现在外部就已经无法访问 Docker 发布出来的任何端口了,但是容器内部以及私有网络地址上可以正常互相访问,而且容器也可以正常访问外部的网络。
显然这不是我想要的结果
最终在stackoverflow
找到了符合我需求的解决方案
cat << EOF >> /etc/docker/daemon.json
{
"iptables": false
}
EOF
echo "DOCKER_OPTS=\"--iptables=false\"" >> /etc/default/docker
service docker restart