关于防火墙不能控制 Docker 容器端口的问题

今天使用 Docker 运行 Nacos 时突然发现,我还没开放 8848 端口(因为我没有关闭防火墙,所以需要开放端口),却能成功访问到 Nacos 的控制台页面,这时我觉得有点问题,然后又用 Docker 启动了 Redis,发现同样还没开放 6379 端口也能正常连接上 Redis。所以就去网上查了一下,发现 Docker 在运行容器的会修改 iptables,从而导致防火墙对 Docker 不起作用。

解决办法:

vim /etc/docker/daemon.json

然后在/etc/docker/daemon.json 文件中添加:

{
 "iptables": false
}

最后再依次执行下面的命令,重新启动 Docker


systemctl daemon-reload


systemctl restart docker

这样设置好并重启后,需要开放服务对应的端口,才能访问到 Docker 启动的对应服务


学习时可以选择关闭虚拟机中Linux系统的防火墙,这样可以减少手动开放端口的麻烦,但我还是选择手动开放端口,这样学习时可能会有不一样的发现

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP