
Docker超入門:Compose.yaml登場!Docker Compose V1とV2の違いとメリット
Docker Composeは、複数のコンテナをまとめて定義・管理できる超便利なツールですが、実は「V1」と「V2」という2つのバージョンが存在します。
最近では、新しいCompose V2 が主流になっており、
ファイル名の変更やコマンドの書き方も少し進化しています。
この記事では、V1とV2の違いや、V2を使うメリットをわかりやすく解説していきます!
Docker Composeのバージョン概要
Docker Composeには以下の2つのメジャーバージョンがあります。
| バージョン | 主な特徴 |
|---|---|
| V1 | docker-compose コマンドを使用。Python製。従来のCompose。 |
| V2 | docker compose コマンドを使用。Go言語で再構築され、Docker CLIに統合。 |
V2では構文や実行形式が改善され、より軽量で直感的になりました。
つまり、「これから始めるならV2一択!」 という感じです。
コマンドの違い
最もわかりやすい違いが、コマンドの書き方 です。
| 項目 | V1 | V2 |
|---|---|---|
| 実行形式 | docker-compose up | docker compose up |
| 構造 | 独立したツール(別インストール) | Docker CLIに統合済み |
| オプション指定方法 | --option | 同様に利用可能(構文は一部整理) |
| 対応環境 | Docker Desktop 以前から対応 | Docker Desktop に標準搭載 |
例えば、V1で使っていた以下のコマンド👇
docker-compose up -dV2ではこのようにシンプルになります👇
docker compose up -dスペースがハイフンに変わっただけですが、
これで ComposeがDocker CLIの正式な一部 になったことを意味しています。
💡 ポイント
V2では「別ツール」ではなく「Docker標準機能」なので、
Dockerをインストールすれば最初から使えます!
YAMLファイル名の変化
Docker Composeで使用する設定ファイルは、
以前は docker-compose.yaml または docker-compose.yml という名前が一般的でしたが、
V2では新たに compose.yaml が推奨 されています。
| バージョン | 推奨ファイル名 | 備考 |
|---|---|---|
| V1 | docker-compose.yaml / docker-compose.yml | 従来形式 |
| V2 | compose.yaml(推奨) | 新形式。Docker Desktopで優先的に読み込まれる。 |
つまり、同じディレクトリ内にcompose.yaml と docker-compose.yaml が両方あった場合、
V2のDocker Composeは compose.yaml を優先的に使用 します。
これは「シンプルでわかりやすい命名」に統一する目的があります。
V2のメリットまとめ
V2では、単にファイル名が変わっただけでなく、
開発者がより快適に使えるように多くの改善 が行われています。
| メリット | 説明 |
|---|---|
| Docker CLIとの統合 | docker compose としてDocker本体に統合。追加インストール不要。 |
| パフォーマンス改善 | Go言語で再構築され、起動が高速化。 |
| 構文の簡略化 | より直感的でエラーの少ないYAML構文に対応。 |
| ファイル名の統一 | compose.yaml でよりスッキリ。 |
| マルチプラットフォーム対応強化 | Windows、macOS、Linuxで同様に動作。 |
つまり、V2を使うことで「余計な設定をせずに」「軽く」「分かりやすく」Composeを扱えます。
どちらを選ぶべき?
選び方の目安はとてもシンプルです👇
| シーン | 推奨バージョン | 理由 |
|---|---|---|
| 新しいプロジェクト | V2 | 最新機能が使え、今後の標準になるため。 |
| 既存プロジェクト(V1で構築済み) | V1継続 or V2移行検討 | 既存のYAML互換性を確認してから移行。 |
| チーム開発 | V2 | 設定共有がしやすく、環境の統一が容易。 |
V1もまだサポートされていますが、
今後はV2への完全移行が主流になります。
図解で理解する!

まとめ
Docker Compose V2の登場によって、
Composeの世界はよりシンプルでスマートになりました。
- コマンドは「docker compose」に統一
- ファイル名は「compose.yaml」にシンプル化
- Go製でパフォーマンス向上
- Docker Desktopに標準搭載
つまり、もう複雑なインストールや記述は不要です!
今からDocker Composeを学ぶなら、V2のcompose.yaml形式 で始めるのがベストです。
