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

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

相关推荐
蝎子莱莱爱打怪9 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p1 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器