今天登服务器,突然发现自己部署的项目连不上数据库了。然后我第一反应就是把项目重启一下,结果发现 mysql 容器已经停止运行了,并且启动容器后后端项目对应的数据库被删除了。 我的服务器一直是 ssh 密钥登录,并且 ufw 只开放了常用的 80 ,443 ,22 端口,所以我感觉应该不是服务器被黑。 然后我测试了一下 Naviat 远程连接数据库,居然能远程登录( ufw 处于开启状态,,ufw default deny ,并且 ufw 没有开启 3306 端口)。 想问一下 V 友,为什么 ufw 无法控制 docker 容器的端口的入站出站?有没有什么解决的办法👀 ufw, 数据库, 容器, 服务器
这个以前就有人踩过坑,/t/466666 。 因为 Docker 默认用的是 iptables FORWARD 你可以去 GitHub 找 ufw-docker 这个 repo 看一下 ufw 的配置。