docker-composeしようとしたら「ERROR [internal] load metadata」というエラーが発生する
docker-compose
でRubyコンテナを使ってビルドしようとしたら、以下のようなエラーで失敗しました。
$ docker-compose run web rails new . --force --no-deps --database=postgresql --skip-bundle [+] Running 1/0 ⠿ Container ugiene-db-1 Created 0.0s [+] Running 1/1 ⠿ Container ugiene-db-1 Started 1.1s [+] Building 0.8s (3/3) FINISHED => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 32B 0.1s => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => ERROR [internal] load metadata for docker.io/library/ruby:3.1.3 0.6s ------ > [internal] load metadata for docker.io/library/ruby:3.1.3: ------ 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: ``
以下を順番に実施した結果、解決しました。もしかしたら最後だけでもよかったのかも。
- (WSLでなく)Windowsで
docker login
し直す - Docker Desktopの設定ファイルから
{"features": {"buildkit": true}}
を削除する - Docker Desktopをリスタートする
docker pull ruby:3.1.3
するdocker-compose run
する