docker compose run コマンド
docker compose run コマンドは、Compose ファイル全体で定義されたすべてのサービスを起動せずに、新しいコンテナを起動して特定のサービスを実行するために使用します。
docker compose run コマンドを使用すると、1回限りのコマンドの実行やデバッグなど、単一のサービス上でタスクを実行できます。
docker compose up との違いは、run コマンドは指定したサービスのみを実行し、それに依存する他のサービスを起動しない点です。
構文
docker compose run [OPTIONS] SERVICE [COMMAND] [ARGS...]
- SERVICE: Compose ファイルで定義されたサービス名。
- COMMANDとARGS: オプションの引数。コンテナ内で実行するコマンドとその引数を指定します。
OPTIONS オプション:
--rm: 実行後にコンテナを自動的に削除します。-d: コンテナをデタッチモードで実行します。-T: 疑似TTYを無効にします。
実例
1. 特定のサービスのコマンドを実行する
docker compose run web python manage.py migrate
このコマンドは、他のサービスを起動せずに、web サービスのコンテナ内で python manage.py migrate コマンドを実行します。
2. コンテナを自動的に削除する
docker compose run --rm web bash
このコマンドは web サービスを実行して Bash ターミナルを起動し、タスク完了後にコンテナを削除します。
docker compose run は、他のサービスの実行に影響を与えずに、サービス内で1回限りのタスクを実行するのに非常に適しています。
その他の拡張
Docker コマンド大全