專案是(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.commonConnections.dbFactorSQL.com 1 出現錯誤
ORA-01882: 未找到時區
)
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnection?
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
Docker容器如果需要連結其他主機的話,運行時需要使用"--net=host"選項,表示容器與主機共用網路。
試著將虛擬機器設定NAT網路模式。設定好之後虛擬機器的網路行為就像宿主機器一樣,存取外網和宿主機器所在的區域網路。