はじめに
つたないおっさんエンジニアです。
docker-compose up でエラーになり、なんでじゃー!とハマっていたので、備忘録的なメモです。
(これ、新着に上がらないよね?恥ずかしい)
TL;DR
docker-compose v1でエラー発生
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.hogehoge: 'extends'
docker-compose v2にバージョンアップしたら動いた。
環境
Ubuntu on WSL2
概要
sudo docker-compose version
docker-compose version 1.25.0, build unknown
docker-py version: 4.1.0
CPython version: 3.8.10
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
docker-compose up
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.hogehoge: 'extends'
なんで動かないんじゃぁ。
ggrとversion 3から非対応です、と。
(結果からすると、 docker-compose.yml version 3 から、ではなく、docker-compose側の仕様変更だったのかな?と思うけど。それ言うと、docker-compose.ymlもdocker-composeの仕様ですよね、と、揚げ足のOverwrideに入るので、気にしないで・・・)
断念してextendsしている内容をdocker-compose.ymlにコピペしまくろう、と思ったら、docker-composeのgithubを見たら、v2.5.0が最新になっていたので、とりあえずバージョンアップしてみた。
バージョンアップ手順
参考にさせていただいた記事、ほんと感謝
https://kazuhira-r.hatenablog.com/entry/2022/04/30/002702
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod a+x /usr/local/lib/docker/cli-plugins/docker-compose
元記事にも記載されている通り、このやり方だと dockerのcli-pluginsとしてインストールされるので、コマンドが docker-compose
では docker compose
に変わるため、注意です。
・・・単に、
sudo curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
↓
sudo curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
だけですわー。
※実行権限の付与は必要よー
・・・-S
を付けると駄目なんだけど、なんで・・・?エラー出力するだけなはずなのに・・・
最後に
大人しくDocker Desktopを使うのが良かったのでは?
気にしてはいけない。