You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot容器连接Oracle数据库容器失败求助

解决SpringBoot连接Docker Oracle容器失败的问题

1. 修正Oracle容器端口映射配置

gvenzl/oracle-xe:21镜像默认监听端口为1521,你当前启动命令中把宿主机1522端口映射到容器1522端口,但容器内部Oracle服务实际监听的是1521,这是连接失败的核心原因之一。

重新启动Oracle容器,修正端口映射:

docker run -it --rm -p 1522:1521 -e ORACLE_PASSWORD=oracle --name=oracle --network=my-network gvenzl/oracle-xe:21

2. 调整JDBC连接URL

由于SpringBoot容器与Oracle容器处于同一Docker网络,直接通过容器名oracle访问即可,且需使用容器内部的监听端口1521,修改配置:

spring.datasource.url=jdbc:oracle:thin:@oracle:1521/xe

3. 验证网络连通性

在SpringBoot容器内测试与Oracle容器的连通性,确认网络可达:

docker exec -it ca-manager ping oracle

若ping不通,检查外部网络my-network的容器成员:

docker network inspect my-network

确保oracle和ca-manager两个容器都在该网络的Containers列表中。

4. 确认Oracle服务完全启动

Oracle XE容器启动需要数分钟,需等待服务就绪后再尝试连接。查看容器日志确认状态:

docker logs oracle

直到日志中出现DATABASE IS READY TO USE!字样,再启动SpringBoot应用。

5. 检查数据源基础配置

确保用户名、密码及驱动类配置正确:

spring.datasource.username=system
spring.datasource.password=oracle
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

内容的提问来源于stack exchange,提问作者tony_rosey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:04:57