从Intellij'连接到MySql Docker容器;s数据库工具

从Intellij'连接到MySql Docker容器;s数据库工具,mysql,docker,intellij-idea,Mysql,Docker,Intellij Idea,我创建了一个docker MySQL容器,如下所示 docker run--detach--name internal mysql-p 6604:3306-e mysql\u ROOT\u PASSWORD=user\u pass-e mysql\u DATABASE=internal-e mysql\u user=user-e mysql\u PASSWORD=user\u pass mysql 集装箱运转良好 CONTAINER ID IMAGE命令创建状态端口名称e802cd30e6a2

我创建了一个docker MySQL容器,如下所示

docker run--detach--name internal mysql-p 6604:3306-e mysql\u ROOT\u PASSWORD=user\u pass-e mysql\u DATABASE=internal-e mysql\u user=user-e mysql\u PASSWORD=user\u pass mysql

集装箱运转良好

CONTAINER ID IMAGE命令创建状态端口名称e802cd30e6a2 mysql“docker entrypoint.s…”42秒前上升41秒33060/tcp,0.0.0.0:6604->3306/tcp内部mysql

在容器中,我检查了用户主机,它看起来很好,不是吗

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| user             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
但当我试图从IntelliJ或我的Spring Boot应用程序连接到数据库时,我总是收到相同的错误

当然,我试着用谷歌搜索,发现在某些情况下,它通过
docker-inspect-f“{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}”内部mysql帮助计算出容器ip

结果是172.17.0.2

我已尝试通过
jdbc进行连接:mysql://172.17.0.2:3306/internal-mysql

我用JDBCMySQL驱动程序8.0.21和5.1进行了尝试,但都没有成功


有什么想法吗?

既然您在主机的端口
6604
上发布了mysql容器的
3306
端口,那么在尝试从主机连接到mysql docker容器时,您应该使用
6604
端口。

您将
6604
端口发布到主机,因此从intellij连接到它。请将此作为答案发布你得到分数;)