首页 > 解决方案 > Docker MySQL:通信链路故障

问题描述

我用数据库初始化创建了一个 mysql 的 docker 容器。现在我正在尝试将我的本地 Spring Boot 项目与容器中的那个 mysql 连接起来。它总是给我通信链路故障。

应用程序属性

spring.datasource.url = jdbc:mysql://localhost:3306/erp
spring.datasource.username = sa
spring.datasource.password = password

我也尝试使用容器名称更改 localhost 但仍然没有任何效果。

编辑:1

我已经克隆了这个存储库并尝试将这个项目与 docker mysql 连接起来。错误仍然相同。我相信我错过了一些东西。

标签: mysqlspringdockerdocker-composedockerfile

解决方案


我解决了这个问题。在 docker VM 之外无法访问我的容器。所以我必须使用以下标志来--publish 6603:3306. 端口 6603 是本地 PC 的端口,它将直接与运行 mysql 的容器端口 3306 连接。

docker run --name mysql-standalone -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password --publish 6603:3306 -d mysql:5.6
spring.datasource.url = jdbc:mysql://localhost:6603/test

推荐阅读