采集器安装在容器里,不运行,发现容器里连不上宿主机MYSQL
docker exec -t app mysql -h 172.17.0.1 -u www_baidu_com -pXXXXXXXXXX我把一个采集器安装在DOCKER里面,运行的时候发现运行不起来,后来发现问题的原因是容器一直连不上宿主机的MYSQL,一直连不上。
我就开始一顿查,从下午开始查,查到现在。
1、宿主机MYSQL的这个采集数据库,开启了允许远程访问,所有人。
2、在容器的shell里ping宿主机IP 无论是172.17.0.1还是公网IP都是通的。
3、宿主机防火墙也没有屏蔽任何IP访问,甚至我关掉防火墙测试,还是连不上。
4、宿主机my.cnf中的配置是bind-address = 0.0.0.0
花了一下午时间,我一直在排查,查资料,问AI,找不到问题,就在刚刚,突然它就能连了!在这之前我什么有用的操作或者更改都没做,它就是突然可以连接了!采集器随之就正常运行了
是不是有点神经病?有没有大佬知道这什么原因????我是真的纳闷。。。一下午几个小时都没好,突然就正常了? 1panel解千愁 toot 发表于 2025-7-16 22:29
1panel解千愁
1panel项目全在容器里是吧?用不习惯。 小萝卜 发表于 2025-7-16 22:45
1panel项目全在容器里是吧?用不习惯。
当然了,不在容器里,你怎么连接。只能映射 同样遇到过这种玄学问题,
但是我用的宝塔面板,Docker容器修改配置后,没有即时生效。
后来发现面板-Docker-网络里,每次运行都生成了一个 Brigre网络,网段都不一样。
需要重启 Docker.socket 才能恢复正常连接到宿主机的Mysql。 chinanala 发表于 2025-7-17 00:11
同样遇到过这种玄学问题,
但是我用的宝塔面板,Docker容器修改配置后,没有即时生效。
终于有一个跟我一样过的人了,我马上都开始怀疑人生了。 chinanala 发表于 2025-7-17 00:11
同样遇到过这种玄学问题,
但是我用的宝塔面板,Docker容器修改配置后,没有即时生效。
牛逼 网络类型改成host 你容器需要连接到宿主机的数据库
好歹你运行的时候设置使用host网络模式啊
--network=host
页:
[1]
