elasticsearch - 通过Ansible或Fig运行docker中的传递参数(例如-Des.node.name =“TestNode”)

标签 elasticsearch configuration docker ansible

我需要使用来自dockerhub官方镜像的dockerized Elasticsearch并使用Fig或Ansible启动Docker容器。两者都有用于传递标准docker运行命令参数(如端口,卷等)的选项,但是我找不到一种传递诸如-Des.node.name="TestNode"之类的参数来配置Elasticsearch集群名称等的方法。

我无法修改Dockerfile来更改配置,因为它们是运行时配置,并且在安装之间有所不同,因此需要在运行时传递。

有谁知道如何使用Fig或Ansible传递此类参数。

最佳答案

Fig已经由 docker compose 替换了相当一段时间。

传递此类参数的方法是:

使用runtime environment variables

  • ,该容器将在docker compose up
  • 之后运行的容器中看到
  • CMD中有一个启动脚本,该脚本将期望并使用这些环境变量来构建正确的命令以启动ElsticSearch(使用-Dxxx=yyy)
  • 关于elasticsearch - 通过Ansible或Fig运行docker中的传递参数(例如-Des.node.name =“TestNode”),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244799/

    相关文章:

    python - 使用默认方法优雅地加载 YAML 配置

    linux - 如何在 Dockerfile 中使用here-strings?

    Docker 磁盘使用情况

    elasticsearch - Elasticsearch快照到s3

    elasticsearch - 如何在搜索查询中列出索引中具有至少1个值的所有字段

    visual-studio-2010 - 如何使 LINQ to SQL 数据库连接完全可配置/通用?

    java - 由 : There is no result type defined for type 'chain' mapped with name 'success' 引起

    mysql - 使用 Docker 为开发环境设置 MySQL

    elasticsearch - 我无法在我的机器上启动 logstash。里面的错误信息

    docker - Linux和Windows上的Docker-Compose之间有区别吗?