Host ‘host.docker.internal‘ is not allowed to connect to this MySQL server

简单介绍下情况吧:docker里面的MySQL容器版本是5.7,本机的MySQL是8.0.13,我想在本机连接docker里面的MySQL,发现一直报错:

Host 'host.docker.internal' is not allowed to connect to this MySQL server

在网上搜索各种解决方案,比如说把host改为%(发现自己的本来就是%),还有其他各种方案,都没有解决我的问题。
最后我发现,我是根据官方文档来写的:
docker-compose.yml文档中有一个这样的;

expose:
	-"3306"

就是这个原因,这个expose他不会把端口暴露给主机,所以连接不上。
最后改成:

ports:
	-"3311:3306"

就行了,之所以用3311是因为我本机有mysql运行,占用了3306端口。

上一篇:flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform


下一篇:MySQL报错com.mysql.jdbc.PacketTooBigException