开发者社区> 问答> 正文

Docker中发布java web项目Could not getJDBC Connection 报错

"

项目是(spring+mybatis+oracle)
docker是安装在虚拟机下面的,jdbc连接的数据库是安装另外一台linux的物理机上面,本机测试能通过,但是到虚拟机里的docker环境下就报这个错误,是什么原因?
报错信息如下:
Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01882: 未找到时区
)

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The Network Adapter could not establish the connection)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
"

展开
收起
因为相信,所以看见。 2020-05-27 13:03:25 1285 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    "

    Docker容器如果需要链接其他主机的话,运行时需要使用"--net=host"选项,表示容器与主机共享网络。

    sudo docker run --net=host 
    ######

    试着将虚拟机设置NAT网络模式。设置好之后虚拟机的网络行为就像宿主机一样,访问外网和宿主机所在的局域网。

    "
    2020-05-27 16:27:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载