2016-11-29 7 views
1

DockerfileでRUNコマンドの結果を処理する方法はありますか?具体的には、実行しているスクリプトの結果に応じて、このコマンドの後の処理を変更したいと考えています。Dockerfile RUNコマンドの結果

+0

いいえ、これは可能ではありません(完全なビルドを一種の「ロジック」として失敗した場合を除きます)。 Dockerfilesは*決定論的*であると考えられており、内部に論理を持たせることで可能な結果が変わる可能性があります。あなたは何を達成しようとしていますか? – Lars

答えて

0

複雑なコマンドは、スクリプトでまとめて書き込むことをお勧めします。

次に、あなたがそのスクリプトそれが実行され

COPY myscript 
RUN myscript 

サイードスクリプトはできるに、チェーン複数のコマンドを実行し、その結果にアクセスすることができます。
通常のシェルスクリプトと同様に、条件文に基づいてコマンドを実行できます。

+0

私はそれを行うことができます。しかし、このスクリプトは、ステータスを表示するための 'Dockerfile'の最後のコマンドでなければなりません。さもなければ、 'docker build'が実行され、画像が正しく構築されなかったことが示されません。 – ilya1725

+0

@ ilya1725スクリプトがゼロ以外の終了ステータスを返した場合、Dockerfileは失敗しますか? (http://stackoverflow.com/a/37143794/6309に示すように) – VonC

+0

はい、そうです。おそらく私はまだ存在しないDockerfileからより多くの 'sh'機能を望んでいます。 – ilya1725

関連する問題