Docker Composeのコマンドの謎
docker-composeとdocker composeによるエラー解消について
概要はこの方の記事とその中でリンクされているIssueを参考
Error
$ docker compose build
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0:
failed to create LLB definition: rpc error: code = Unknown desc = error getting credentials - err: exit status 1, out: ``
上記の記事やIssueではdocker-compose → docker composeのハイフンなしにすることで動いたとの報告があるが、自分の環境では逆のdocker compose →docker-composeでエラー解消した。原因は不明である。
補足
Dockerでよく見るエラーload metadata or docker.ioですが、Use Docker Compose V2のチェックを外すと治らしい。自分は治りませんでしたが、、、これもdocker-composeとdocker composeの違いなのでしょうか。
これ
$ docker compose build --no-cache
...
=> ERROR [internal] load metadata for docker.io/library/XXXX
ちなみに、このエラーが出た時自分は毎回面倒ですが、docker pull XXXでpullしています。(他にも解決方法があると思いますが、あまり環境や設定をいじりたくない...)
例) php:8.1.9-fpmの場合
$ docker compose build --no-cache
...
=> ERROR [internal] load metadata for docker.io/library/php:8.1.9-fpm
$ docker pull php:8.1.9-fpm
...
...
...
...
Status: Downloaded newer image for php:8.1.9-fpm
docker.io/library/php:8.1.9-fpm
$ docker compose build --no-cache