Docker Composeはマルチコンテナアプリケーションの管理を簡素化します。しかし、そのコマンド(stop
、down
、up
、start
)は混乱を招く可能性があります。このガイドでは、それらの違いを明確にして、Docker Composeのワークフローを改善します。
目次
docker compose stop
とdocker compose down
の理解
どちらのコマンドもアプリケーションのコンテナを停止しますが、その影響は大きく異なります。
機能 | docker compose stop |
docker compose down |
---|---|---|
動作 | 実行中のコンテナを正常に停止します。 | コンテナ、ネットワーク、ボリュームを停止してから削除します。 |
コンテナ | コンテナは残ります。再開できます。 | コンテナは削除されます。 |
ネットワーク | ネットワークは保持されます。 | ネットワークは削除されます。 |
ボリューム | ボリュームは保持されます。 | -v フラグを使用しない限り、ボリュームは削除されます。 |
データの永続性 | ボリューム内のデータは保持されます。 | -v で保持しない限り、ボリューム内のデータは失われます。 |
再開 | docker compose start を使用して再開します。 |
docker compose up が必要です。 |
ユースケース | 一時的な停止。迅速な再開。 | アプリケーションのクリーンなシャットダウンと完全な削除。 |
基本的に、docker compose stop
はアプリケーションを一時停止し、docker compose down
はアンインストールします。一時的な中断にはstop
を、クリーンな開始にはdown
を使用します。貴重なデータを保持するには、常にdown
で-v
フラグを検討してください。
docker compose start
とdocker compose up
の比較
どちらのコマンドもアプリケーションをオンラインにします。しかし、その動作はアプリケーションの以前の状態によって異なります。
機能 | docker compose start |
docker compose up |
---|---|---|
動作 | 以前に停止されたコンテナを起動します。 | コンテナとネットワークの作成、起動、管理を行います。 |
コンテナ | 既存の停止中のコンテナのみを起動します。 | 存在しない場合はコンテナを作成し、既存のコンテナを起動します。 |
ネットワーク | 既存のネットワークを使用します。 | 存在しない場合はネットワークを作成し、既存のネットワークを使用します。 |
ボリューム | 既存のボリュームを使用します。 | 存在しない場合はボリュームを作成し、既存のボリュームを使用します。 |
前提条件 | (以前のdocker compose up または手動作成からの)既存のコンテナが必要です。 |
以前のコンテナの存在は必要ありません。 |
ユースケース | 停止したアプリケーションの再開。 | 初期設定とdocker compose down 後の以降の起動。 |
docker compose start
は停止したコンテナを再開し、docker compose up
は包括的で、作成と起動を処理します。stop
の後にはstart
を、初期設定またはdown
後の新しい開始にはup
を使用します。up
で-d
フラグを使用すると、コンテナはデタッチモード(バックグラウンド)で実行されます。
これらのコマンドをマスターすることで、効率的なリソース使用とデータ保存を確保できます。最新の情報を取得し、高度なオプションを確認するには、常に公式のDocker Composeドキュメントを参照してください。