Dockerfile に IF文を書く

まず最初にこれはするべきではないです。
Dockerfile はシンプルな記述をモットーにしている(とどこかで見た気がする)ので、
if や switch の構文など無いのです!

  • 本来の正規で用意されているコマンド一覧はこちら

http://docs.docker.jp/engine/reference/builder.html

  • それでもそこをなんとか…というときの力技

Dockerfile

ARG USE_SVN="1"

RUN if [ "${USE_SVN}" = "1" ]; then \
        echo "ここに1だったときのコマンド"; \
        例)yum install svn; \
    else \
        echo "ここに1じゃなかったときのコマンド"; \
fi

やりすぎると読みづらい Dockerfile ができて本末転倒なので、
どうしても!というときにのみ。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.