oracle - Docker中发布java web项目Could not get JDBC 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)
问题解答
回答1:Docker容器如果需要链接其他主机的话,运行时需要使用'--net=host'选项,表示容器与主机共享网络。
sudo docker run --net=host 回答2:
试着将虚拟机设置NAT网络模式。设置好之后虚拟机的网络行为就像宿主机一样,访问外网和宿主机所在的局域网。
相关文章:
1. nignx - docker内nginx 80端口被占用2. mysql - 查询 修改数据库优化问题吧3. javascript - 关于微信扫一扫的技术问题4. nginx - 在七牛云已经上传静态网页了,为什么打开红色框的链接不能访问????5. javascript - vue2如何动态生成checkbox默认选中,获取数据6. node.js - session怎么存到cookie,然后服务器重启后还能获取。数据库不用mongodb或redis,数据库是mysql7. java - 在局域网中自动探测设备原理8. 无法为JSP编译类:无法解析类型java.util.Map $ Entry。从所需的.class文件间接引用它9. 多张图片自动换行后图片居中显示10. javascript - Angular2中声明的成员变量为何显示undefined?

网公网安备