2016-02-29 81 views

回答

1

-Des.node.name="TestNode"只是一个参数的命令,所以你会指定为command的一部分:

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

您还可以使用entrypoint为“基地”命令,并添加使用command ARGS ,像这样:

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

如果ENTRYPOINT在Dockerfile已经设置,您可以完全忽略它。

+0

谢谢,但反正是有我离开'command'不变?如果他们因任何原因决定改变它,我不想重写原始命令!我的意思是,如果我试图做'docker run',我可以在不改变命令的情况下给出参数,是否可以在这里做同样的事情? – Mehran

+0

这是但你需要指定你自己的配置文件。请看看我们的Docker镜像[million12/elasticsearch](https://hub.docker.com/r/million12/elasticsearch/) 值得一提的是,我们的图像像elasticsearch命令一样起作用。所以,无论你想在运行过程中指定而不是使用配置文件,你可以 – Polinux

+0

我已经添加了更多关于'入口点'的信息给我的答案,这就是你的建议。 – dnephin

1

您可以将它添加到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> 
0
environment: 
     node.name: your-node-name-here