【问题标题】:How to connect elastic cluster from application running in docker如何从在 docker 中运行的应用程序连接弹性集群
【发布时间】:2020-05-26 16:08:14
【问题描述】:

我正在尝试将我的 python 应用程序迁移到 docker 映像中。当前代码正在从网络上抓取数据并插入到运行在不同机器上的弹性搜索集群中。

如何在docker-compose中定义es集群的外部ip的url

【问题讨论】:

  • 你的python代码如何在不使用docker的情况下获取es集群ip?
  • 声明一个config.py文件中的所有资源,其他python文件从这里读取。
  • 你可以用 docker 做同样的事情,你可以将你的配置文件挂载到所需的位置,并让你的 python 程序从配置文件中读取参考:docs.docker.com/storage/bind-mounts
  • @jaswanth 非常感谢您的回复。它现在对我有用。

标签: python docker elasticsearch docker-compose


【解决方案1】:

你可以在 docker-compose 中传递外部 es ip 作为环境变量:

  your-python-service:
    image: ...
    ...
    environment:
      ES_ADDR: your_es_ip_here

然后在你的python代码中读取env:

es_arr = os.environ["ES_ADDR"]

这是许多可能的问题解决方案之一。

【讨论】:

    猜你喜欢
    • 2016-11-13
    • 2018-07-12
    • 2023-02-10
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多