elasticsearch 通过环境变量配置elasticsearch(docker)
我想启用CORS;为此,我可以在elasticsearch 通过环境变量配置elasticsearch(docker),elasticsearch,docker-compose,elasticsearch,Docker Compose,我想启用CORS;为此,我可以在elasticsearch.yml http.cors.enabled: true http.cors.allow-origin: "*" 它是有效的。有没有办法做到相同,但不改变elasticsearch.yml,并且只使用环境变量? 我三次以同样的方式设置它们。这是mydocker compose.yml中的外观: environment: - http.cors.enabled=true - http.cors.allow-origin=
elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
它是有效的。有没有办法做到相同,但不改变elasticsearch.yml
,并且只使用环境变量?
我三次以同样的方式设置它们。这是mydocker compose.yml中的外观:
environment:
- http.cors.enabled=true
- http.cors.allow-origin="*"
而且它不能正常工作。尽管它能以某种方式工作,因为使用envs set CORS会停止工作,即使我将这些参数添加到elasticsearch.yml
和环境中。为什么需要它?在docker中运行时,无需修改elasticsearch.yml
?@MostafaHussein,要修改配置文件,我需要创建一个已修改配置的代理映像。但是,当使用环境时,官方图像是enoughAFAIK如果elasticsearch本身不支持通过环境变量启用,那么在没有修改图像的情况下,就没有其他方法可以做到这一点。下面是两件让我相信可以使用环境配置ES的事情。第一个-示例docker compose.yml
from设置了一些变量,这些变量也可以在配置中找到。第二像我在问题中所做的那样添加环境变量会破坏一切,所以至少它们有一些效果,但可能语法不正确。你是对的!正式docker映像允许您修改所述配置:设置env var cluster.name=testcluster将导致使用-Ecluster.name=testcluster调用Elasticsearch,因此在这种情况下,您可以检查容器的运行命令是否包含变量