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. javascript - js中遞歸與for循環同時發生的時候,代碼的執行順序是怎樣的?2. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現3. python - linux怎么在每天的凌晨2點執行一次這個log.py文件4. php如何獲取訪問者路由器的mac地址5. android - 鍵盤遮擋RecyclerView6. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?7. javascript - jQuery each 方法第三個參數args 如何解釋?8. javascript - 在 vue里面用import引入js文件,結果為undefined9. java - new + 類名,一定需要申明一個對象嗎?10. javascript - ...mapGetters和...mapState獲取到的state,怎么拿來在methods中操作?
