Dockerイメージのpull時に以下のようなエラーメッセージが表示される。
=> ERROR [internal] load metadata for docker.io/library/node:alpine 0.9s ------ > [internal] load metadata for docker.io/library/node:alpine: ------ 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: ``
解決方法
1. dockerのリポジトリにログインする
docker login
Windows + WSL2ではDocker Desktopでログインしていても、CLIからログインしてないと失敗する。
2. BuildKitを無効化する
BuildKitを無効化すれば、とりあえずはpullできる。でもコンテナイメージの並列ビルドといったBuildKitの恩恵は受けられなくなる。
環境変数で無効化する方法
DOCKER_BUILDKIT=0
dockerデーモンの設定で無効化する方法
/etc/docker/daemon.json などに配置されている設定ファイルで"buildkit": false
を設定し、デーモンを再起動する。
{ "features": { "buildkit": false } }
Docker DesktopはGUI開いて設定を探せば見つかる。
発生した環境の情報
- Windows 10
- WSL2
- Docker version 20.10.11, build dea9396
- Docker Desktop 4.3.2 (72729)