【问题标题】:Connecting Dockerized app to local Redis and Postgresql将 Dockerized 应用程序连接到本地 Redis 和 Postgresql
【发布时间】:2018-02-18 10:32:30
【问题描述】:

在阅读了一些教程和指南之后,我试图在 docker 上设置我的项目。我正在设置具有 Redis 和 Postgresql 作为依赖项的 Elixir/Phoenix 应用程序。我已经设法使用 docker compose 对它进行 Dockerize,它使用 pg 和 Redis 的图像。

我试图找出一种方法将我的 Phoenix 应用程序连接到我的本地 Postgresql 和 Redis,而不是将其连接到他们的图像,因为 db 和 Redis 需要在服务器上而不是在 docker 容器中。

有没有人可以帮助我的例子?

提前致谢。

【问题讨论】:

  • on the server 是什么意思? docker-compose 背后的想法是在同一台服务器上运行所有图像。如果您想拥有一个已经在运行的外部数据库,则该数据库不属于此撰写文件。在这种情况下,您应该只使用一个通用 url 来连接它。
  • 我的意思是说我不希望我的 Postgres 和 Redis 在 Docker 上运行。无论如何,我想知道将我的 Dockerized Phoenix 应用程序连接到 docker 环境之外的 Postgres 和 Redis。对于在 Linux 服务器上正常运行的那些。

标签: postgresql docker redis elixir phoenix-framework


【解决方案1】:

默认情况下,容器有172.17.0.0/16网络,docker主机有地址172.17.0.1

因此,您只需将 PostgreSQL 和 Redis URL 指向该地址,即分别为 172.17.0.1:5432172.17.0.1:6379

您需要授予对来自此网络RedisPostgreSQL 的连接的访问​​权限。

【讨论】:

  • 谢谢。非常感谢您的帮助。您所说的内容是否有任何文档或快速参考?我想详细了解这些事情。
  • 在浏览 Stackoverflow 上的 Docker 问题时发现了这个。 stackoverflow.com/a/24326540/3861525 它回答了我关于您的回答的所有问题。无论如何,你的回答真的很有帮助。谢谢
猜你喜欢
  • 2017-12-29
  • 1970-01-01
  • 2019-11-06
  • 2022-06-19
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
相关资源
最近更新 更多