如何在docker-compose中更改默认的elasticsearch密码?

Ari*_*iel 9 elasticsearch docker docker-compose

Elasticsearch的官方docker镜像文档提供了这个docker-compose.yml示例:

version: '2'
services:
  elasticsearch1:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3
    container_name: elasticsearch1
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch1"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    volumes:
      - esdata2:/usr/share/elasticsearch/data
    networks:
      - esnet

volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local

networks:
  esnet:
Run Code Online (Sandbox Code Playgroud)

但是,它没有解释如何自定义密码.它确实将我们引导到X-Pack文档页面,但我拒绝相信我只需更改密码就可以解决所有问题.是否有更简单,规范的方法为Docker Compose文件上的elasticsearch配置自定义密码?

Ela*_*ary 5

从 6.0 开始,elasticsearch docker 镜像可以使用以下环境变量 - ELASTIC_PASSWORD 配置密码。
例如:
docker run -e ELASTIC_PASSWORD=MagicWord docker.elastic.co/elasticsearch/elasticsearch-platinum:6.1.3
参见:https : //www.elastic.co/guide/en/elasticsearch/reference/6.1/docker.html

  • 他们删除了吗?因为我在 6.x 的新文档中没有看到这个变量?https://www.elastic.co/guide/en/elasticsearch/reference/6.x/docker.html (7认同)
  • 仅供参考,我已经确认设置环境变量 ELASTIC_PASSWORD 在 elasticsearch:7.9.1 中有效 (3认同)
  • 看起来 ELASTIC_PASSWORD 变量仅在 docker 镜像的白金版本中受支持:https://www.elastic.co/guide/en/elasticsearch/reference/6.1/docker.html#_image_types (2认同)