始めに
私がcomposeファイルを書いていて、当たり前のように書いていた定義などが推奨されたものではないものがあったため、一部ですがまとめておきます。
Compose のファイル名の推奨
書き方を調べていると、docker-compose.yaml
やdocker-compose.yml
を使用している物が多いと思います。そのためか、あまり気が付かれていないと思いますが、compose.yaml
が推奨されるファイル名だそうです。
作業ディレクトリ内での、Compose ファイルのデフォルトのパスは compose.yaml(推奨)か compose.yml です。Compose 実装は、下位互換性のために docker-compose.yaml と docker-compose.yml もサポートすべきです。両方のファイルが存在する場合、Compose 実装は標準である compose.yaml を優先しなければいけません。
Version について
書き方を調べていると、version: 3
などの指定をしていると思いますが、この定義も不要です。
Compose 実装は、 Compose ファイルの検証にあたり、正確なスキームを選ぶためにこの version を使う べきではありません。そうではなく、 Compose ファイルが設計された時点での最新のスキーマを優先すべきです。
最後に
参考にしているドキュメントを読み込めば、他にもよく「使われている方法だが非推奨」といったものがあるかもしれません。
公式サイトでも昔からあるものでは、古い定義等残っているようです。
対応しなかったからといって、直ちに動かなくなったりしないかもしれませんが、できるだけ新しい書き方、推奨された書き方をすることによって、それを防ぐことができるかと思います。