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
を適宜使用。