Docker Compose v2 は version の要素を使っていないぽい

最新が最高といいながら brew upgrade 業してたら気がついた。

 $ docker compose version
 Docker Compose version 2.26.0

 $ head -n1 docker-compose.yml
 version: '3'

上記の環境で docker compose のコマンドを実行すると version is obsolete というメッセージが出力される。

$ docker compose build
WARN[0000] /path/foo/compose.yml: `version` is obsolete

ドキュメントを読んでわかること

Compose FAQs | Docker Docs には以下のようなことが書かれている。

Version two of the Docker Compose command-line binary was announced in 2020, is written in Go, and is invoked with docker compose. Compose V2 ignores the version top-level element in the compose.yml file.

最初から docker compose v2 は version のトップレベル要素を見ていなかったのですねえ。ということで今後は見かけたら消して良さそう。

Compose Specification(仕様) — Docker-docs-ja 24.0 ドキュメント でも 「 version (非推奨)」と書かれているし、 Compose Specification(仕様) — Docker-docs-ja 24.0 ドキュメント にも「トップレベルの version 属性は、下位互換性のために仕様で定義されていますが、情報を参考にするためだけです。」ということが書かれている。