Dockerの警告文「the attribute version is obsolete」の解決方法

DockerでPythonの開発環境を立ち上げた時

the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion

上記の警告文章が毎回出てきたのを疑問に思い、その解決方法を調べたので記事として残しておきます。

目次

警告文章の内容

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

警告文を直訳してみると

versionは時代遅れなので無視されます。混乱を避けるために削除してください。

今回の例ではcompose.yamlの記述内容が古くversionの記述箇所を無視して実行している。と言う事ですね。

該当箇所

version: '3'

services:
  python:

古い書籍やネットの情報ではおまじないとして一番最初に記載しておきましょう。と書かれているversionが警告文の原因です。

解決方法

versionの記述箇所を削除するだけです。

compose.yamlversion: '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) FINISHED

docker-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を使用していました。

もし該当する方はファイル名をcompose.yamlにリネームするだけでOKです。

この機会に是非、最新のDocker環境にしておきましょう。

あとがき

調べてみると大したことのない警告文でしたね。

しかし修正をする事により最新のDocker構成に出来たので良かったです。

Dockerは一度環境構築をしてしまうと使い回して中をいじらないので、今回の警告文は新たな知識を学べる良い機会でした。

今後もエラーなどで躓いた時は解決方法を調べて、備忘録として記事にしていけたらなぁと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。

reCAPTCHAの認証時間が切れたため、ページを再読み込みしてください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次