Docker超入門:Compose.yaml登場!Docker Compose V1とV2の違いとメリット

 Docker Composeは、複数のコンテナをまとめて定義・管理できる超便利なツールですが、実は「V1」と「V2」という2つのバージョンが存在します。

最近では、新しいCompose V2 が主流になっており、
ファイル名の変更やコマンドの書き方も少し進化しています。

この記事では、V1とV2の違いや、V2を使うメリットをわかりやすく解説していきます!

Docker Composeのバージョン概要

Docker Composeには以下の2つのメジャーバージョンがあります。

バージョン主な特徴
V1docker-compose コマンドを使用。Python製。従来のCompose。
V2docker compose コマンドを使用。Go言語で再構築され、Docker CLIに統合。

V2では構文や実行形式が改善され、より軽量で直感的になりました。
つまり、「これから始めるならV2一択!」 という感じです。

コマンドの違い

最もわかりやすい違いが、コマンドの書き方 です。

項目V1V2
実行形式docker-compose updocker compose up
構造独立したツール(別インストール)Docker CLIに統合済み
オプション指定方法--option同様に利用可能(構文は一部整理)
対応環境Docker Desktop 以前から対応Docker Desktop に標準搭載

例えば、V1で使っていた以下のコマンド👇

docker-compose up -d

V2ではこのようにシンプルになります👇

docker compose up -d

スペースがハイフンに変わっただけですが、
これで ComposeがDocker CLIの正式な一部 になったことを意味しています。

💡 ポイント
V2では「別ツール」ではなく「Docker標準機能」なので、
Dockerをインストールすれば最初から使えます!

YAMLファイル名の変化

Docker Composeで使用する設定ファイルは、
以前は docker-compose.yaml または docker-compose.yml という名前が一般的でしたが、
V2では新たに compose.yaml が推奨 されています。

バージョン推奨ファイル名備考
V1docker-compose.yaml / docker-compose.yml従来形式
V2compose.yaml(推奨)新形式。Docker Desktopで優先的に読み込まれる。

つまり、同じディレクトリ内に
compose.yamldocker-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形式 で始めるのがベストです。