[DockerCompose]Commandを複数行実行する方法

Dockerコマンド複数実行

こんばんは、エンジニアの眠れない夜です。

DockerComposeでCommandを複数個実行したけどどうやって書けばいいの??

ということで調べてみました。

1行で書きたいときは

command: bash -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000"

1行ずつ行を分けて書きたいときは

command: >
    bash -c "python manage.py migrate &&
    python manage.py runserver 0.0.0.0:8000"

と、こんな感じで書きます。

コマンドを複数行で実行する時のポイント

bash -c "コマンド1&& コマンド2"
と書くことです。””で囲ってそれをbash -cで実行するということですね。

command: >
    bash -c "python manage.py migrate &&
    python manage.py runserver 0.0.0.0:8000"

複数行に分けて書くときはcommand: の後に>を、お忘れなく!

コマンドを複数行に分けたときのdocker-composeファイルの例

.ymlの全体像が見えなくてよくわからん!という方はこちら。(command:の部分を参考にしてみてください。)


  python:
    image: python:3
    container_name: 'python'
    links:
      - selenium-hub:hub
    command: >
      bash -c 'pip install --upgrade pip &&
      pip install selenium &&
      tail -f /dev/null'

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください