ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

docker-composeしようとしたら「ERROR [internal] load metadata」というエラーが発生する

docker-composeRubyコンテナを使ってビルドしようとしたら、以下のようなエラーで失敗しました。

$ 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でなく)Windowsdocker login し直す
  • Docker Desktopの設定ファイルから {"features": {"buildkit": true}} を削除する
  • Docker Desktopをリスタートする
  • docker pull ruby:3.1.3 する
  • docker-compose run する