#調べたきっかけ
docker-compose upを行った際に、以下のメッセージが。
> docker-compose up
Docker Compose is now in the Docker CLI, try `docker compose up`
Google翻訳:
Docker ComposeがDockerCLIに追加されました。`docker compose up`を試してください。
###言われたので、試してみる
同様にDocker Composeが使用できているが、何が違うのかいまいちわからない...。
> docker compose up
[+] Running 4/4
- Container hoge_db_1 Recreated
- Container hoge_mailhog_1 Recreated
- Container hoge_php_1 Recreated
- Container hoge_nginx_1 Recreated
#バージョン
> docker --version
Docker version 20.10.6
> docker-compose --version
docker-compose version 1.29.1
> docker compose version
Docker Compose version 2.0.0-beta.1
#結論
Docker ComposeのV2が開発中であり、V2ではCLIで'docker-compose'コマンドの機能のほとんどを引き継いだ'docker compose'コマンドが使用できる
Ver3.2.1以降のDockerDesktopではDockerCLIとともに新しい'docker compose'コマンドが含まれているため、個別にDocker Compose V2をインストールしなくても今回のようなメッセージが出力されるようです。
The new Compose V2, which supports the compose command as part of the Docker CLI, is now available as a beta version. Compose V2 seamlessly integrates compose functions into the Docker platform, continuing to support most of the previous docker-compose features and flags. You can test the Compose V2 today, by simply replacing the dash (-) with a space, and running docker compose, instead of docker-compose.
As Docker Compose V2 is in beta, we recommend that you extensively test before using it in production environments.
訳:DockerCLIの一部としてcomposeコマンドをサポートする新しいComposeV2が、ベータ版として利用可能になりました。Compose V2は、作成機能をDockerプラットフォームにシームレスに統合し、以前のdocker-compose機能とフラグのほとんどを引き続きサポートします。ダッシュ(-)をスペースに置き換えてdocker composeを代わりにを実行するだけで、ComposeV2をテストできます。
Docker Compose V2はベータ版であるため、本番環境で使用する前に徹底的にテストすることをお勧めします。
引用元:https://docs.docker.com/compose/cli-command/
#結局どっちを使うべきなのか
###まだdocker-composeで良い(と思う)
引用の通り、V2のdocker composeコマンドはまだベータ版であり、本番環境でいきなり使用することは推奨されていません...。
Docker Compose V2の追加機能としては
ComposeV2はプロファイルやGPUデバイス、Appleシリコンなどをサポートします。
と、あり新規追加されるそれらの機能を利用する人/メリットが享受できる人はV2を使用するべきなのでしょう。
それがどう役に立つのかわからない・それらの機能を利用しないであろう自分のような人は、急いで乗り換える必要はないように感じます。
#おまけ
記事を書くにあたりリリースノートを見たところ、最新Verの1.29.2に以下の記載がありました。
1.29.2
(2021-05-10)
upコマンド内においてdocker compose利用を促す説明を削除しました。
頑張って記事にまとめたのですが、最新VerのDocker Composeを使っていれば記事の頭にある「docker composeコマンドを試してね!」というメッセージは出なくなってしまったようです。笑