1、问题描述:通过 docker compose 启动mysql服务,然而在防火墙添加了3306端口后却无法访问,但是关闭防火墙后又可以访问mysql数据库。
解决方案: 重启 docker 后解决:systemctl restart docker
如果没有解决问题则执行如下命名后可以解决
clike
docker-compose down -v # 删除容器,同时删除相关的卷(volumes)
docker network prune # 清理未使用的 Docker 网络
iptables -t nat -F DOCKER-USER # 清除 Docker-User 链中的规则
iptables -t nat -F DOCKER # 清除 Docker 链中的规则
iptables -t filter -F DOCKER # 清除 Filter 表中与 Docker 相关的规则
iptables -P FORWARD ACCEPT # 允许转发流量
systemctl restart docker # 重启 Docker 服务
2、执行 docker-compose up -d
报错如下:
clike
Creating network "opt_my_network" with driver "bridge"
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-7419acc57c71 -j RETURN: iptables: No chain/target/match by that name.
(exit status 1))
重启 docker 后解决:systemctl restart docker