如何从我的 springboot 应用程序的 Docker 映像连接到 Amazon RDS 实例?

Posted

技术标签:

【中文标题】如何从我的 springboot 应用程序的 Docker 映像连接到 Amazon RDS 实例?【英文标题】:How can I connect to an Amazon RDS instance from my Docker image of springboot application? 【发布时间】:2019-12-23 07:41:20 【问题描述】:

出现以下错误:

com.mysql.cj.jdbc.exceptions.CommunicationsException:通信 链接失败

最后一个成功发送到服务器的数据包是 0 毫秒 前。驱动程序没有收到来自服务器的任何数据包。 在 com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) ~[mysql-connector-java-8.0.15.jar!/:8.0.15] 在 com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) ~[HikariCP-3.2.0.jar!/:na] 在 com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.2.0.jar!/:na] 在 org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:157) ~[spring-jdbc-5.1.6.RELEASE.jar!/:5.1.6.RELEASE] 在 org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115) ~[spring-jdbc-5.1.6.RELEASE.jar!/:5.1.6.RELEASE] 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78) ~[spring-jdbc-5.1.6.RELEASE.jar!/:5.1.6.RELEASE] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:319) ~[spring-jdbc-5.1.6.RELEASE.jar!/:5.1.6.RELEASE] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356) ~[spring-jdbc-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]

【问题讨论】:

能否提供ECS和RDS实例的网络配置详情? 您能否提供更多信息,例如您使用的配置、docker run 命令、dockerfile 是否有? 【参考方案1】:

我得到了确切的问题。安全配置文件有问题。需要允许所需的端口号。

【讨论】:

以上是关于如何从我的 springboot 应用程序的 Docker 映像连接到 Amazon RDS 实例?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 JpaRepository.findAll() 方法从我的 Oracle 数据库中获取错误的数据?

SpringBoot 如何进行对象复制,老鸟们都这么玩的!

Spring boot + spring security - 如何阻止应用层上的CORS请求?

如何从另一个 Spring Boot 应用程序访问一个 Spring Boot 应用程序的内存 H2 数据库

What do you want from me

如何将我的 docker 连接到远程数据库?