You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开启VPN后无法连接MySQL Docker的问题求助

Docker MySQL开启Sonicwall NetExtender VPN后无法连接的解决方法

排查与修复步骤

  • 确认端口绑定状态
    执行netstat -tulpn | grep 3306,查看3306端口的监听地址。如果显示为127.0.0.1:3306,说明MySQL仅绑定了本地回环地址,VPN路由可能干扰了本地访问。修改容器内的MySQL配置文件(通常是/etc/mysql/my.cnf或对应路径),将bind-address设置为0.0.0.0,然后重启容器。
  • 切换Docker网络模式
    默认的bridge模式下,VPN可能修改主机路由表导致容器网络不通。尝试使用host模式启动容器,让容器直接复用主机网络:
    docker run --network host -d [你的MySQL镜像名]
    
  • 检查路由表冲突
    对比VPN开启前后的ip route输出,查看是否有路由规则将127.0.0.0/8段流量导向VPN接口。如果存在这类规则,添加静态路由强制本地回环流量走lo网卡:
    sudo ip route add 127.0.0.1/32 dev lo
    
  • 验证容器内部服务状态
    进入容器内部确认MySQL服务本身正常运行:
    docker exec -it [容器ID/名称] mysql -uroot -p
    
    如果容器内可以正常连接,说明问题出在主机到容器的网络路由环节。
  • 检查防火墙规则
    VPN开启可能触发Ubuntu的ufw防火墙规则变更,执行sudo ufw status查看是否有规则拦截3306端口的本地访问,必要时添加允许规则:
    sudo ufw allow from 127.0.0.1 to any port 3306
    

内容的提问来源于stack exchange,提问作者user3309305

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 15:03:15