2016-10-26 13 views
5

ソースタグをパラメータとして渡したいDockerコンテナを作成しようとしています。Docker - ソースファイル内にArgを構築する

ビルド・スクリプト:

docker build \ 
    --pull=true \ 
    ... 
    --build-arg version=${version} 

Dockerfile:

ARG version 

FROM registry/repo:${version} 

これを実行するには、prior to commitから私にエラーPlease provide a source image withを与えます。

ビルド引数としてプルして使用する方法はありますか?私はドッキングウィンドウのバージョン1.12

+0

_ "コミットする前にソースイメージを提供してください" _は、Dockerfileで 'ARG'を使用する前に' FORM'を使用する必要があることを意味します。 – Marcs

+0

私の答えはAshwiniを助けましたか? – johnharris85

+0

@ johnharris85:ある意味ではそうです。 –

答えて

8

According to the docs上だけど、最初の命令はFROM(または技術的にパーサディレクティブが、ここでは関係ありません)ので、このアプローチは、おそらく仕事に行くのではありませんする必要があります。おそらくdocker build...のいくつかのシェルラッパーと、正しいバージョンを挿入するための何らかのsedコマンドや何か、または何らかの種類のテンプレートがあります。

Gareth Rushgrove had a nice talk at DockerCon16興味深い画像作成ツールです。

更新(7/2/17):これはnow possible to achieve since v17.06です。

+0

これ以降変更されています。https://github.com/moby/moby/pull/31352 – synhershko

+0

のようにARGが来る前に来てください https://docs.docker.com/engine/reference/ builder /#understand-how-arg-and-from-interact – dtothefp

+1

実際にDocker v17.05以降で使用できます。 https://github.com/moby/moby/pull/31352 – Shane

関連する問題