😶🌫️
docker composeを打つと出てくる警告`version` is obsoleteとは
はじめに
Dockerを使用してRailsの環境構築を行なっているときに、docker compose
コマンドを打つ度に警告が出てくるので気になり、調べてみました。
問題
docker-compose.yml
を作成してイメージをビルドしたところ、以下のように警告が表示されました。
$ docker compose build
WARN[0000] /Users/user/app/docker-compose.yml: `version` is obsolete
docker-compose.yml
のバージョンが古いと言われていたのでDockerのドキュメントで調べてみました。
警告の原因
Composeのバージョンが最新になったことにより、version
プロパティが廃止されたため、表示されていました。
docker-compose.yml
version: '3'
また、ドキュメントをみると
作業ディレクトリ内での、Compose ファイルのデフォルトのパスは compose.yaml (推奨)か compose.yml です。
Compose 実装は、下位互換性のために docker-compose.yaml と docker-compose.yml もサポート すべきです。
両方のファイルが存在する場合、 Compose 実装は標準である compose.yaml を優先 しなければいけません。
と書かれているので、これも修正していきます。
対応
まず、docker-compose.yml
内のversion: '3'
の記述を削除しました。
削除をしたので、docker compose build
を行った結果、
docker compose build
[+] Building 2.5s (11/11) FINISHED docker:desktop-linux
=> [app internal] load build definition from Dockerfile.dev 0.0s
警告をなくすことができました。
次に、docker-compose.yml
をcompose.yaml
変更も行い、無事動作しました。
Discussion