我们有一个远程postgres数据库(亚马逊rds db),我们需要从docker django应用程序访问,我们如何链接相同的?
在这种情况下,我的django-compose.yml应该如何看待?
答案 0 :(得分:2)
我不熟悉Amazon RDS数据库,但我猜你有一个IP地址和一些凭据来访问数据库。
在这种情况下,您希望将IP地址作为extra host添加到Docker容器中:
django_app:
image: your_image
extra_hosts:
- "database:123.456.78.90"
现在您的django-app可以使用主机名database
访问数据库。
答案 1 :(得分:0)
在牧场主或码头工人网络和其他工具中,如果没有像IPSEC那样花费更多精力,就无法链接这些容器 - 通常不需要。这意味着您将路由/加入不同docker主机的2个docker-networks,这实际上是一个巨大的主题。这背后的一般理论是https://docs.docker.com/engine/userguide/networking/,我想如果你想要这个,试试看,然后回答更具体的问题。
低级概念只是简单地使用外部连接,因为您的docker容器可以毫无问题地访问外部世界。
您的AWS实例肯定会有一个外部可解析的名称,例如youdb.aws.domain.com,而postgres服务器运行就可以说9000
所以你做的是,你只需用postgresql连接到youdb.aws.domain.com:9000
。