我正在運行一個nodejs應用程序以及一個PostgreSQL數據庫。目前,我藉助以下環境變量從nodejs連接到數據庫:POSTGRESQL_HOST
,POSTGRESQL_USER
,POSTGRESQL_PASSWORD
和POSTGRESQL_PORT
。 POSTGRESQL_USER
和POSTGRESQL_PASSWORD
被映射到正確的「祕密」。端口是靜態的,所以它永遠不會改變。我的問題是與主機。目前,我手動輸入了POSTGRESQL_HOST
中的PostgreSQL窗格的IP地址,但每次實例重新部署時都會更改。連接到數據庫的正確方法是什麼?在Openshift中連接數據庫的正確方法是什麼?
0
A
回答
3
在部署配置的環境變量中設置POSTGRESQL_HOST
時,請將其設置爲PostgreSQL數據庫服務的名稱,而不是IP。該服務的名稱作爲內部DNS服務器中的主機名添加,並映射到適當的IP。所以當服務名稱用作主機名時,事情會自動解決。
FWIW,我會親自避免使用自動添加的環境變量。無論如何,這些名稱的前綴是服務的名稱(大寫),因此您已經將其綁定到服務名稱的知識上。最好在部署配置中使用環境變量而不是硬連線到代碼中。自動添加的環境變量的另一個問題是,如果數據庫是在前端之後創建的,那麼它們最初不會被設置。所以最好避免它們。他們是在Docker中連接容器的遺產,他們從來就不是一種很好的做事方式。
0
如果您從吊艙的終端檢查您的環境,請撥打printenv
,您應該看到automatically added variables。因此,假設您的Postgres服務被稱爲POSTGRES
,則可以使用環境變量POSTGRES_SERVICE_HOST
來訪問您的數據庫。
相關問題
- 1. 在Dispose方法中關閉數據庫連接是否正確?
- 2. 在Git中處理數據庫的正確方法是什麼?
- 3. 在mojoportal中傳輸數據庫的正確方法是什麼?
- 4. 在php中連接數據庫的最佳方法是什麼?
- 5. InstallShield 2012:什麼是連接到Oracle數據庫的正確方法
- 6. 從eclipse插件連接數據庫的正確方法是什麼?
- 7. 在python中建立數據庫連接的正確方法
- 8. 確保EntityManager連接關閉的正確方法是什麼?
- 9. 什麼是在關係數據庫中存儲'元數據'的正確方法?
- 10. Javascript中正確的連接方法是什麼?
- 11. 在c#中連接數據庫的最佳方式是什麼?
- 12. 什麼是備份/恢復mnesia數據庫的正確方法?
- 13. 更改數據庫名稱的正確方法是什麼?
- 14. 使用sqlsrv切換數據庫的正確方法是什麼?
- 15. 什麼是處理數據庫的正確方法?
- 16. 什麼是配置數據庫連接的好方法?
- 17. 在我的數據庫中存儲隨機數的正確方法是什麼?
- 18. 什麼是連接我的網站頁面的正確方法?
- 19. 訪問連接模型的值的正確方法是什麼?
- 20. 什麼是從數據庫中分離數據列的正確方法
- 21. 在表格中保存數據的正確方法是什麼
- 22. 什麼是在DOM中存儲數據的正確方法
- 23. 什麼是連接IPropertyChanged事件通知的正確方法?
- 24. 處理網絡連接的正確方法是什麼?
- 25. 「聚合」Phoenix Query Server連接的正確方法是什麼
- 26. 關閉和清理Socket連接的正確方法是什麼?
- 27. 關閉TCP連接的正確方法是什麼
- 28. 等待連接的正確方法是什麼?
- 29. 水平連接std :: vectors的正確方法是什麼?
- 30. 什麼是刪除多對多連接的正確方法?
在這種情況下,我需要在我的nodejs應用程序代碼中擁有'POSTGRES_SERVICE_HOST',而不是原來的'POSTGRESQL_HOST'吧?你知道是否可以將一個環境變量的值設置爲另一個?例如,'POSTGRESQL_HOST' ='$ POSTGRES_SERVICE_HOST'? – pranavashok
如果你想繼續使用'POSTGRESQL_HOST',Graham的答案是正確的選擇。 –