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