本日のお悩み
Dockerを使用してDjangoを動かそうとしている時に下記コマンドを入力するとエラーが出た
下記コマンドの意味: docker-compose.yml に定義されたすべてのサービスのイメージをビルド
docker compose build
エラー内容
WARN[0000] /Users/user/app/docker-compose.yml: `version` is obsolete
docker-compose.ymlのバージョンが廃止されたとのこと。
docker-compose.ymlの詳細
docker-compose.yaml
version: '3.3'
services:
db:
image: postgres
environment:
- POSTGRES_USER=tutorial
- POSTGRES_PASSWORD=tutorial
- POSTGRES_DB=tutorial
ports:
- "127.0.0.1:5432:5432"
web:
build: .
restart: always
command: python manage.py runserver 0.0.0.0:8000
env_file:
- .env
ports:
- "127.0.0.1:8000:8000"
volumes:
- .:/code
links:
- db
depends_on:
- db
本日の処方箋
docker-compose.yaml
# この行を丸ごと削除
version: '3.3'
Composeのバージョンが最新になったことにより、versionプロパティが廃止されたためエラーが出力
docker-compose.yml内のversion: '3.3'の記述を削除しました。
docker compose build
[+] Building 2.5s (11/11) FINISHED docker:desktop-linux
=> [app internal] load build definition from Dockerfile.dev 0.0s
このような記載が表示されればOK!!
ちなみにこちらのドキュメントによると、色々と変更があったみたいです。
作業ディレクトリ内での、Compose ファイルのデフォルトのパスは compose.yaml (推奨)か compose.yml です。
Compose 実装は、下位互換性のために docker-compose.yaml と docker-compose.yml もサポート すべきです。
両方のファイルが存在する場合、 Compose 実装は標準である compose.yaml を優先 しなければいけません。