2016-02-29 34 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