docker 启动 mysql 通过防火墙设置端口无法访问解决方案

1、问题描述:通过 docker compose 启动mysql服务,然而在防火墙添加了3306端口后却无法访问,但是关闭防火墙后又可以访问mysql数据库。

解决方案: 重启 docker 后解决:systemctl restart docker

如果没有解决问题则执行如下命名后可以解决

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 报错如下:

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

你可能感兴趣的:(docker和k8s,docker,mysql,eureka)