0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

docker-compose up -d? build?

Posted at

Dockerを使って環境構築している時に、
docker-compose up -d コマンド
docker-compose build  コマンド
どちらを実行するか分からないことが多かったので、
調べたことをここにアウトプットしておきます。

前提

Dockerfile内のimageを参考にし、docker-compose.ymlで構築します。

各種ファイルの変更時の反映について

docker-compose.yml の内容を変更した場合
イメージ:再構築の必要なし:
コンテナ:再構築の必要あり:docker-compose up -d

Dockerfile の内容を変更した場合
イメージ:再構築の必要あり:docker-compose build
コンテナ:再構築の必要あり:docker-compose up -d

ミドルウェアなどの設定の内容を変更した場合
イメージ:再構築の必要あり:docker-compose build
コンテナ:再構築の必要あり:docker-compose up -d

docker-compose up -d の -d について

ちなみにdocker-compose up -dについている -d オプションは、detachedのことです。

Docker Composeファイル(通常は docker-compose.yml)に定義されたサービス(コンテナ)を起動しますが、デフォルトではターミナルにログを表示します。

しかし、-d オプションを使用することで、コンテナをバックグラウンドで起動し、ログの表示を行わずにコントロールをターミナルに返します。

docker-compose up -d

このコマンドを使うことで、Docker Composeファイルに定義された全てのサービスがバックグラウンドで起動され、コンテナのログは表示されません。

  • メリット
    この方法でコンテナを起動することで、ターミナルをブロックすることなく他の作業を続けることができます。

docker-compose up --build

初回のdocker-compose upはbuildも同時に行なってくれますが、
(↑改めて勉強になりました)

2回目からはbuildは行われません。

どちらも実行したいときには、上記のようにbuildしてからupでももちろん問題ないですが、

docker-compose up --build

コマンドを使えば、同時に実行できるので是非活用してみてください。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?