😎

docker-compose コマンドでコンテナを再起動すると同時にビルドも行う

2024/06/12に公開

docker-compose コマンドでコンテナを再起動すると同時にビルドもしたい場合、以下のようなコマンドを実行できます。まず、ビルドと再起動を個別に実行する方法と、それを一つのコマンドで実行する方法を示します。

ビルドと再起動を個別に実行

  1. ビルド:
    docker-compose -f ./docker-compose.prod.yml build
    
  2. 再起動:
    docker-compose -f ./docker-compose.prod.yml restart
    

一つのコマンドでビルドと再起動を実行

ビルドしてからサービスを再起動するには、up コマンドを使い、--build オプションを付けてから restart ポリシーを使います。しかし、restart オプションは up コマンドには存在しないので、実際にはサービスを停止して再起動することになります。

docker-compose -f ./docker-compose.prod.yml up --build -d

このコマンドはサービスをビルドした後、デタッチドモードで実行します。これにより、コンテナが更新されてからバックグラウンドで自動的に再起動します。ただし、これによる完全な再起動を保証するためには、各サービスの設定で適切な再起動ポリシーが設定されている必要があります。

どちらの方法でも目的を達成できますが、作業の流れに合わせて選択してください。

Discussion