Docker Composeのオプション一覧と解説
Docker Composeは、docker-composeコマンドを使用して複数のコンテナを管理するツールだ。このコマンドには、さまざまなオプションがあり、それぞれの目的に応じて活用できる。以下では、よく使うオプションからあまり知られていないオプションまで、できる限り多くを解説する。
基本的なコマンドとオプション
Docker Composeの基本構文は次の通り。
docker-compose [COMMAND] [OPTIONS]
-
[COMMAND]: 実行するコマンド(例:up,down,build)。 -
[OPTIONS]: コマンドに付加するオプション。
1. docker-compose up
サービスをビルド・起動し、必要に応じて再作成する。
オプション
-
-d(デタッチモード):- バックグラウンドでコンテナを起動する。
- 例:
docker-compose up -d
-
--build:- 必要に応じてサービスをビルドしてから起動する。
- 例:
docker-compose up --build
-
--force-recreate:- 常に新しいコンテナを作成する(既存コンテナを再利用しない)。
- 例:
docker-compose up --force-recreate
-
--remove-orphans:- 現在の
docker-compose.ymlに定義されていない不要なコンテナを削除する。 - 例:
docker-compose up --remove-orphans
- 現在の
-
--scale SERVICE=NUM:- 指定したサービスを複数インスタンス起動する。
- 例:
docker-compose up --scale web=3
2. docker-compose down
起動中のコンテナや関連リソース(ネットワーク、ボリューム)を停止して削除する。
オプション
-
-v:- ボリュームも一緒に削除する。
- 例:
docker-compose down -v
-
--rmi [local|all]:- ローカルで作成したイメージ(
local)またはすべてのイメージ(all)を削除する。 - 例:
docker-compose down --rmi all
- ローカルで作成したイメージ(
-
--remove-orphans:- 現在のComposeプロジェクトに属さないコンテナを削除する。
- 例:
docker-compose down --remove-orphans
3. docker-compose build
サービスのイメージをビルドする。
オプション
-
--no-cache:- キャッシュを無視してイメージをビルドする。
- 例:
docker-compose build --no-cache
-
--pull:- ベースイメージをリモートリポジトリから最新バージョンに更新してビルドする。
- 例:
docker-compose build --pull
-
--parallel:- サービスを並列でビルドする。
- 例:
docker-compose build --parallel
4. docker-compose logs
コンテナのログを表示する。
オプション
-
-f(フォロー):- リアルタイムでログを追跡する。
- 例:
docker-compose logs -f
-
--tail=N:- 最後のN行だけを表示する。
- 例:
docker-compose logs --tail=100
-
SERVICE_NAME:- 特定のサービスのログだけを表示する。
- 例:
docker-compose logs web
5. docker-compose exec
実行中のコンテナ内でコマンドを実行する。
オプション
-
-T:- 擬似端末(TTY)を割り当てない。
- 例:
docker-compose exec -T web ls /var/www
-
SERVICE_NAME COMMAND:- 特定のサービスのコンテナでコマンドを実行する。
- 例:
docker-compose exec db mysql -u root -p
6. docker-compose ps
現在のComposeプロジェクトのコンテナの状態を表示する。
オプション
-
-q:- コンテナIDだけを表示する。
- 例:
docker-compose ps -q
-
SERVICE_NAME:- 特定のサービスに関連するコンテナだけを表示する。
- 例:
docker-compose ps web
7. その他の便利なコマンド
docker-compose restart
すべてのコンテナを再起動する。特定のサービスのみを再起動することも可能。
docker-compose restart
docker-compose restart web
docker-compose stop
コンテナを停止する(削除はしない)。
docker-compose stop
docker-compose rm
停止したコンテナを削除する。
-
-f:- 確認を求めずに削除する。
- 例:
docker-compose rm -f
docker-compose config
docker-compose.ymlファイルの構文を検証し、最終的な設定を出力する。
-
--services:- 定義されているサービス名だけを表示する。
- 例:
docker-compose config --services
-
--volumes:- 定義されているボリューム名だけを表示する。
- 例:
docker-compose config --volumes
8. デバッグに役立つオプション
docker-compose top
コンテナ内で実行中のプロセスを表示する。
docker-compose top
docker-compose version
Docker Composeのバージョン情報を表示する。
docker-compose version
オプション一覧まとめ
| コマンド | 主なオプション | 説明 |
|---|---|---|
up |
-d, --build, --force-recreate
|
コンテナの起動と再作成 |
down |
-v, --rmi, --remove-orphans
|
コンテナと関連リソースの削除 |
build |
--no-cache, --pull, --parallel
|
イメージのビルド |
logs |
-f, --tail, SERVICE_NAME
|
ログの表示 |
exec |
-T, SERVICE_NAME COMMAND
|
コンテナ内でコマンドを実行 |
ps |
-q, SERVICE_NAME
|
コンテナの状態を表示 |
restart |
コンテナの再起動 | |
stop |
コンテナの停止 | |
rm |
-f |
停止したコンテナの削除 |
config |
--services, --volumes
|
設定の検証と表示 |
まとめ
Docker Composeのオプションは非常に多岐にわたるが、プロジェクト管理を効率化するために非常に役立つ。よく使うオプションを覚えておくことで、トラブルシューティングやプロジェクト管理がスムーズになる。
-
開発中:
up -d --buildやlogs -fを活用。 -
設定変更後:
configで構文検証を行い、up -dで反映。 -
リソース管理:
down -vやrmを適宜使用。