在 docker-compose.yml 中指定 ELasticsearch 的 node.name



官方 Elasticsearch docker 仓库声明我可以传递一个标志/参数来设置节点名称:

$ docker run -d elasticsearch elasticsearch -Des.node.name="TestNode"

如何在docker-compose.yml中指定此内容?

-Des.node.name="TestNode"只是命令的一个参数,因此您可以将其指定为command的一部分:

command: "elasticsearch -Des.node.name=TestNode"

您也可以使用 entrypoint 作为命令的"基础",并使用 command 添加参数,如下所示:

entrypoint: elasticsearch
command: "-Des.node.name=TestNode"

如果 Dockerfile 中已经设置了ENTRYPOINT,则可以完全省略它。

您可以将其添加到docker-compose.yml文件的environment部分,如下所示:

version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.3.1
    container_name: elasticsearch
    environment:
      - node.name=<your-node-name-here>
environment:
      node.name: your-node-name-here

最新更新