web-dev-qa-db-ja.com

dockerfile内に条件付きRUNステートメントを挿入する

Package.jsonファイル内のWordを検索して実行するRUNコマンドを実行するdockerファイルを作成しようとしています:

これは私の簡単なdockerfileです:

FROM ubuntu:14.04

COPY package.json package.json

RUN if grep -q "grunt" package.json; then echo succeed fi

あなたが見ることができるように、私は単純なif文が欲しいだけですが、このエラーが発生します:

Step 2 : RUN if grep -q "grunt" package.json; then echo succeed fi
 ---> Running in af460df45239
/bin/sh: 1: Syntax error: end of file unexpected (expecting "fi")
INFO[0001] The command [/bin/sh -c if grep -q "grunt" package.json; then echo succeed fi] returned a non-zero code: 2

コマンドを実行するにはどうすればよいですか?ありがとう。

31
lobengula3rd

シェルで入力するときと同じように、fiの前に改行またはセミコロンが必要です。

RUN if grep -q "grunt" package.json; then echo succeed; fi
                                             add this ^
49
jwodder