【初心者向け】docker-compose run, up, build, createの違い。

docker-prograshi(プロぐらし)-kv Docker
記事内に広告が含まれていることがあります。
[PR]

docker-composeには「run」「up」「build」「create」などのコマンドが用意されています。

それぞれに似たような処理をしていたり、docker-compose builddocker-compose createdocker compose runの中に含まれていたりと初見だと何が何やらわかりにくいことがあります。

ここでは、各コマンドが何をしているかと、それぞれの違いについて簡単にまとめています。


docker-compose run, up, build, createの役割

docker-compose run, up, build, createの役割は以下のようになっています。

コマンド処理内容備考
runイメージ&コンテナ作成&起動1つのサービスのみ。(1つのサービスに対して1つのコマンドのみ)。
upイメージ&コンテナ作成&起動depends_onやlinksで紐づいているコンテナもまとめて起動。サービスを一括でまとめて起動したい場合に使用する。
buildイメージの作成
createコンテナの作成


処理の流れをコマンドで見る

処理の流れをコマンドでまとめると以下のようになります。

イメージ作成コンテナ作成コンテナ起動内容
buildcreatestart1つ1つ個別に実行
run1つのサービスだけ起動
up紐づいているサービスもまとめて起動
注意点

docker-compose up」または「docker-compose run」を実行する際に、イメージが既にある場合は、既存のイメージをそのまま使います

コードを変更したなどで、再度イメージを作り直したい場合は、別途「docker-compose build」を実行する必要があります

その後で「docker-compose up」または「docker-compose run」を実行する必要があります。


参考

コマンドで示すと以下のようなイメージになります。(それぞれとれる引数が異なるので、あくまで概念的なものです)

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

タイトルとURLをコピーしました