我需要我的docker容器连接到不同的PostgreSQL服务器,具体取决于环境(测试和生产)。我想要的是在本地使用本地数据库实例测试我的应用程序,然后推送修复程序。根据我的阅读,PostgreSQL的默认连接参数可由environment variables确定,因此我认为编写两个不同的环境变量文件用于测试/生成,并使用--env-file
docker run
选项传递所需的文件}命令可以做到这一点。
这是一种合适的测试方式吗?部署Web应用程序?如果没有,那么什么是更好的解决方案?
答案 0 :(得分:0)
是的,一般来说这是使用Docker时应采取的方法。将数据库连接参数(URL,用户名,密码)存储在环境变量中。除非你有大量的环境变量,否则没有必要使用环境文件,你也可以传递任意数量的" -e" docker的参数也是如此。这更像是亚马逊ECS等服务希望您传递参数的方式。
如果您要将文件写入文件,请确保文件以某种方式加密/编码 - 将数据库密码以明文形式存储在文件中并不是一种很好的安全措施。