我正在运行一个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的答案是正确的选择。 –