Docker Composeには、V1とV2の2つのメジャーバージョンがあります。V2の利用が推奨されています。以下にそれぞれの特徴と違いを解説します。

V1とV2の違い

・コマンドの変更

V1では、「docker-compose」コマンドが使用されていましたが、V2では「docker compose」コマンドに変更されました。また、V2では、オプションの区切りにハイフン(-)が半角スペースに置き換えられました。

・YAMLファイル名

 V1では、YAMLファイルの名前として「docker-compose.yaml」または「docker-compose.yml」が使用されていました。一方、V2でもこれらのファイル名を使用することはできますが、新たに推奨されるファイル名として「compose.yaml」が導入されました。

・ファイルの優先順位

 V2では、「compose.yaml」が推奨されるため、フォルダ内に「compose.yaml」と「docker-compose.yaml」の2つのファイルがある場合、V2の仕様に従って「compose.yaml」が優先的にコンテナの作成に利用されます。ただし、V1のファイル名も引き続きサポートされているため、適切なファイルが選択されます。

バージョンの選択

Docker Composeのバージョンを選択する際には、以下の点を考慮すると良いでしょう。

・新規プロジェクト

 新しいプロジェクトを開始する場合は、可能な限り最新のバージョン(V2)を使用することが推奨されます。V2ではシンプルな構文やより多くの機能が導入されており、より効率的にコンテナを管理できます。

・既存のプロジェクト

 既存のプロジェクトでは、V1で作成されたDocker Composeファイルが既に存在する場合があります。この場合、V2に移行する必要性を検討することが重要です。ただし、移行には手間や時間がかかる場合があるため、V1の機能に問題がなければそのまま使用することも検討できます。

・環境やチームの要件

 プロジェクトの要件やチームの慣習に応じて、バージョンを選択することも重要です。V2が提供する機能が必要であれば、積極的に移行することが良いでしょう。


 V2では、V1と比較してよりシンプルで直感的なコマンドやファイル名が導入され、より使いやすくなっています。したがって、新しいプロジェクトや環境の場合は、V2の機能や推奨される手法に従ってDocker Composeを利用することが良いでしょう。