如何在Elasticsearch Docker容器上禁用安全性(用户名/密码)?

18

我希望能够运行Docker化版本的Elasticsearch,而不需要基于用户名和密码的安全措施(我使用其他方式,比如AWS安全组)。

我该如何禁用Elasticsearch Docker中的用户名/密码安全机制?

2个回答

38

Docker

只需添加 xpack.security.enabled=false 环境变量

docker run \
       -p 9200:9200 \
       -p 9300:9300 \
       -e "discovery.type=single-node" \
       -e "xpack.security.enabled=false" \
       docker.elastic.co/elasticsearch/elasticsearch:5.6.3

Ansible

使用Ansible的docker_container运行容器时,一些yaml特殊性需要您使用0而不是false

env:
  discovery.type: "single-node"
  xpack.security.enabled: 0
  ..

你确定将它设置为0会起作用吗?我得到了一个异常,说它必须是一个字符串。 - adhg
对我来说,"false"不起作用。 - thelastinuit
对我来说,"false"没有起作用。 - undefined
在我的docker-compose中,在environment部分,我不得不把"false"作为一个字符串放入;false导致了构建错误(services.storage.environment.xpack.security.enabled包含false,这是一个无效的类型,它应该是一个字符串、数字或null),而0导致了运行时错误(java.lang.IllegalStateException: failed to load plugin class [org.elasticsearch.xpack.security.Security])。 - Rémi.B

0
记得将此环境设置为非生产模式以运行ElasticSearch。
       -e "discovery.type=single-node" \

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接