DockerでPythonの開発環境を立ち上げた時
上記の警告文章が毎回出てきたのを疑問に思い、その解決方法を調べたので記事として残しておきます。
警告文章の内容
owner@pc:~/python/test$ docker compose up -d --build
WARN[0000] /home/owner/python/test/compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion警告文を直訳してみると
今回の例ではcompose.yamlの記述内容が古くversionの記述箇所を無視して実行している。と言う事ですね。
該当箇所
version: '3'
services:
python:古い書籍やネットの情報ではおまじないとして一番最初に記載しておきましょう。と書かれているversionが警告文の原因です。
解決方法
versionの記述箇所を削除するだけです。
compose.yamlのversion: '3'を削除しました。
削除後のcompose.yaml
services:
python:
restart: always
build: .
container_name: python-app
volumes:
- ./app:/root/app
working_dir: /root/app
tty: true上書き保存をして、再度Dockerにてコンテナを立ち上げると無事警告が無くなりました。
owner@pc:~/python/test$ docker compose up -d --build
[+] Building 1.3s (13/13) FINISHEDdocker-compose.ymlからcompose.yamlへ
上記の説明ではcompose.yamlにて解説を行っておりますが、中にはdocker-compose.ymlを未だ使用している人がいるかもしれません。
今回の警告文をキッカケに調べているとdocker-compose.ymlのファイル名も古いため使用するなと改定がありました。
作業ディレクトリ内での、Compose ファイルのデフォルトのパスは compose.yaml (推奨)か compose.yml です。Compose 実装は、下位互換性のために docker-compose.yaml と docker-compose.yml もサポート すべきです。
Compose Specification(仕様)
私も今回の警告文をキッカケに調べるまでdocker-compose.ymlを使用していました。
この機会に是非、最新のDocker環境にしておきましょう。
あとがき

調べてみると大したことのない警告文でしたね。
しかし修正をする事により最新のDocker構成に出来たので良かったです。
Dockerは一度環境構築をしてしまうと使い回して中をいじらないので、今回の警告文は新たな知識を学べる良い機会でした。
今後もエラーなどで躓いた時は解決方法を調べて、備忘録として記事にしていけたらなぁと思います。


コメント