2015-12-10 12 views
5

にRUN命令の出力Iがdockerfileを書くと、以下のように変数に「LS」コマンドの出力を入れたいのです:Dockerfile:変数

$file = ls /tmp/dir 

ここで、「dirは」だけ持っていますその中に1つのファイル。

dockerfileをwithing以下RUN命令は、(それはあなたの意図である場合)、あなたは他のDockerfileコマンドで後で使用するための変数を保存することはできません

RUN $file = ls /tmp/dir 

答えて

8

が機能していません。これは、各RUNが新しいシェルで発生するためです。

しかし、lsの出力をキャプチャしたい場合は、1つのRUN複合コマンドでそれを実行できるはずです。

RUN file="$(ls -1 /tmp/dir)" && echo $file 

それとも、サブシェルをインラインで使用した:たとえば

RUN echo $(ls -1 /tmp/dir) 

・ホープこれはあなたの理解に役立ちます。解決する実際のエラーや問題がある場合は、仮説的な答えではなく、これを拡張することができます。

関連する問題