elasticsearch 从Ansible或Fig,elasticsearch,configuration,docker,ansible,elasticsearch,Configuration,Docker,Ansible" /> elasticsearch 从Ansible或Fig,elasticsearch,configuration,docker,ansible,elasticsearch,Configuration,Docker,Ansible" />

elasticsearch 从Ansible或Fig

elasticsearch 从Ansible或Fig,elasticsearch,configuration,docker,ansible,elasticsearch,Configuration,Docker,Ansible,我需要使用dockerhub官方图片中的DockerElasticSearch,并使用Fig或Ansible启动docker容器。两者都有传递标准docker run命令参数(如端口、卷等)的选项,但我找不到传递参数(如-Des.node.name=“TestNode”以配置Elasticsearch群集名称等)的方法 我无法将Dockerfile修改为alter config,因为它们是运行时配置,并且在不同的安装中有所不同,因此需要在运行时传递 有没有人知道如何使用Fig或Ansible来传

我需要使用dockerhub官方图片中的DockerElasticSearch,并使用Fig或Ansible启动docker容器。两者都有传递标准docker run命令参数(如端口、卷等)的选项,但我找不到传递参数(如
-Des.node.name=“TestNode”
以配置Elasticsearch群集名称等)的方法

我无法将Dockerfile修改为alter config,因为它们是运行时配置,并且在不同的安装中有所不同,因此需要在运行时传递

有没有人知道如何使用Fig或Ansible来传递这些参数。

已经被替换了很长一段时间了

传递该参数的方法是:

  • 在docker compose up之后运行的容器可以看到的
  • CMD
    中有一个启动脚本,该脚本期望并使用这些环境变量来构建启动ElsticSearch的正确命令(使用
    -Dxxx=yyy
由于-D特定于Java(Java_OPTS),而不是作为ENV或docker参数,因此可以通过Java_OPTS环境变量传递。比如:

sudo docker run-e JAVA_OPTS=-Des.script.groovy.sandbox.enabled=true-p 9200:9200 elasticsearch:1.7.1

现在Fig或Ansible可以传递ENV变量JAVA_OPTS。唯一的问题是确保保留原始JAVA_选项