2016-05-11 11 views
16

多くの引数が原因で、デフォルトプロセスのコマンドラインがかなり長くなりました。最も簡単なのは、スクリプト(例:run.sh)を作成し、ENTRYPOINTまたはCMDでこのスクリプトを呼び出すことです。 ENTRYPOINTまたはCMDの複数行を作成する方法があるかどうかは私には分かります(方法はRUNとなります)。たとえば。Docker multiline CMDまたはENTRYPOINT

ENTRYPOINT["/path/myprocess", 
      "arg1", 
      "arg2" ] 

私は、このフォーマットはJSONであるため、有効な構文で考えていました。しかし、docker buildは、私は複数行にENTRYPOINTを分割することができます方法はありエラー

Step 14 : ENTRYPOINT[ 
Unknown instruction: ENTRYPOINT[ 

スロー?

+2

私の間違い。私は 'ENTRYPOINT'と' [''の間にスペースがありませんでした。私はドッカーファイルが '\'で行を終了することによって複数行の 'ENTRYPOINT'と' CMD'をサポートすることを発見しました。 'RUN'と同じです。 – donnie

+0

答えを追加し、それを受け入れる:) – L0j1k

答えて

21

ドッカーファイルのタイプミスです。 ENTRYPOINT[の間にspaceがありませんでした。 Dockerfileは、\の行を終了することにより、RUNと同じように複数行ENTRYPOINTCMDをサポートします。だから、私の場合はそれが可能です

ENTRYPOINT [ "/path/myprocess", \ 
      "arg1",   \ 
      "arg2"    \ 
] 
関連する問題