2017-01-31 11 views
1

'$ MYVARIABLE'のようなテキストが含まれているDockerfileがラベルとして渡されています(これらの文字列はカスタムツールで使用されます)。dockerファイルのシェル変数がdockerイメージラベルにありません

このDockerfileが正常に構築されたら、結果の画像のdocker inspectには、これらの '$ MYVARIABLE'スタイル文字列がDockerfileにある空白が表示されます。私はちょうど '$ MYVARIABLE'をリテラル文字列として渡したいと思います。私はそれを変数として扱いたくはありません。

私が最初に推測したのは、DockerfileのARGまたはENV構文を使用していないのに、シェルが通常の変数であるかのように展開しようとしていたことです。私はこれが当てはまらないと結論付けました。だから私の質問は、これらの文字列はどこに行くのですか?

+1

ドッカーファイルのサンプルを投稿できますか? – Matt

答えて

1

渡されたvarをドッカーファイルのARGとして宣言する必要があります。

ARG MY_ARG 

LABEL "My Arg"=$MY_ARG 

すでに多分問題は/その変数が初期化されている方法である、ことをやっている場合:あなたがラベルとしてVAR MY_ARGを使用したい場合、あなたは次のようにそれを宣言しなければならないです いくつかのコードが役立つかもしれません。

+0

私はそれをリテラル文字列として渡したいと思います。変数のように扱いたいとは思っていません。 – onetruescottsman

+0

次に、ドッカーファイルを追加して、varsを渡す方法について言及してください。 – Rambler

関連する問題