docker-composeには「run」「up」「build」「create」などのコマンドが用意されています。
それぞれに似たような処理をしていたり、docker-compose build
やdocker-compose create
がdocker compose run
の中に含まれていたりと初見だと何が何やらわかりにくいことがあります。
ここでは、各コマンドが何をしているかと、それぞれの違いについて簡単にまとめています。
docker-compose run, up, build, createの役割
docker-compose run, up, build, createの役割は以下のようになっています。
コマンド | 処理内容 | 備考 |
---|---|---|
run | イメージ&コンテナ作成&起動 | 1つのサービスのみ。(1つのサービスに対して1つのコマンドのみ)。 |
up | イメージ&コンテナ作成&起動 | depends_onやlinksで紐づいているコンテナもまとめて起動。サービスを一括でまとめて起動したい場合に使用する。 |
build | イメージの作成 | – |
create | コンテナの作成 | – |
処理の流れをコマンドで見る
処理の流れをコマンドでまとめると以下のようになります。
イメージ作成 | コンテナ作成 | コンテナ起動 | 内容 |
---|---|---|---|
build | create | start | 1つ1つ個別に実行 |
run | → | → | 1つのサービスだけ起動 |
up | → | → | 紐づいているサービスもまとめて起動 |
参考
コマンドで示すと以下のようなイメージになります。(それぞれとれる引数が異なるので、あくまで概念的なものです)
docker-compose run/up
= docker-compose build && docker-compose create && docker-compose start
・docker-compose run
・docker-compose up
・docker-compose build
・docker-compose create
・docker-compose start