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. angular.js - angularjs ng-class指令改變ng-click點擊的class屬性失效2. pdo 寫入到數據庫的內容為中文的時候寫入亂碼3. docker綁定了nginx端口 外部訪問不到4. nginx配置問題5. html - 急求,能否用flex或者高端點的CSS來布局這個圖呢?不想用浮動或定位了6. PHP類中的$this7. java - Eclipse:為何方法默認未顯示注釋,鼠標懸浮卻可以看到注釋呢?8. javascript - 請問下面代碼中的...是擴展運算符還是操作運算符?這樣寫是什么意思?9. phpstady在win10上運行10. angular.js - 關于angular react vue 我們在什么實際的開發項目中使用?如何選擇?
