2017-02-17 20 views
39

documentationによれば、フラグ--build-argに対して複数の引数を定義することは可能ですが、どのようにして見つけることができません。私は以下を試しました:複数の引数を持つ--build-argを指定したドッカービルド

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache . 

=>これはエラーを返します。

私も試してみました:

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache . 

=>これは、値 "5、number_of_replicas = 2"

私は複数の引数を定義することができますどのように任意のアイデアに、一つの変数、number_of_shardsを設定しますか?

答えて

77

各引数に--build-argを使用してください。

次の2つの引数を渡している場合は、各引数で--build-argを追加するように:pl_rockことによって、上記の答えが正しい

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 --build-arg number_of_replicas=2 --no-cache . 
+0

ラメですが、本当です! –

+3

これをクリアしていただきありがとうございます。これに関する '--help'は特に誤解を招くものです:' --build-arg list'。それはリストではない! – cowlinator

15

、私は追加することになります唯一の事はDockerfile内ARGを期待するのではないにしますそれにアクセスすることはできません。ですから、

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 --build-arg number_of_replicas=2 --no-cache . 

を行っている場合は、Dockerfileの内側にあなたが

ARG number_of_replicas 
ARG number_of_shards 

を追加する必要があります私はこの問題に実行されていたので、私は、私は将来的に誰か(自分を)助けを願っています。

+0

DockerfileのARGに言及してくれてありがとう –

4

複数のARGが必要なことは残念です。その結果、複数のレイヤーが作成され、そのためにビルドが遅くなり、それを疑問のある人は、現在there is no wayで複数のARGを設定できます。

関連する問題