ドッカーファイルの RUN で複数行echo するには?

ショコラ
ショコラ

ドッカーファイルの RUN で複数行echo するには?

基本、行末に半角¥マークを付けますが、波括弧で括り echo で出力する方法と、半角¥nで改行を入れる方法がある。

もっさん先輩
もっさん先輩

①波括弧で括る方法

RUN {\
  echo 'export POSTGRES_HOME=/usr/lib/postgresql/14' \
  echo 'export PGDATA=/var/lib/postgresql/data' \
  echo 'export PGBIN=$POSTGRES_HOME/bin' \
  echo 'export PATH=$PGBIN:$PATH' \
  echo 'export LD_LIBRARY_PATH=$POSTGRES_HOME/lib:$LD_LIBRARY_PATH' \
}  >  /etc/bash.bashrc 

②半角¥nで改行を入れる方法

RUN echo '\
export POSTGRES_HOME=/usr/lib/postgresql/14\n\
export PGDATA=/var/lib/postgresql/data\n\
export PGBIN=$POSTGRES_HOME/bin\n\
export PATH=$PGBIN:$PATH\n\
export LD_LIBRARY_PATH=$POSTGRES_HOME/lib:$LD_LIBRARY_PATH\n\
' > /etc/bash.bashrc

インデントと行末の¥の前にスペースが置ける分①の方が見やすい感じがします。②は設定ファイルの書き出しとかで使えると思います。

Scroll to Top