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

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

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コンテナの作成–


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

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

イメージ作成コンテナ作成コンテナ起動内容
buildcreatestart1つ1つ個別に実行
run→→1つのサービスだけ起動
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をコピーしました