キーチェーンエラーでのDocker Compose起動失敗解決法

docker-compose up -dするも

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: error getting credentials - err: exit status 1, out: keychain cannot be accessed because the current session does not allow user interaction. The keychain may be locked; unlock it by running "security -v unlock-keychain ~/Library/Keychains/login.keychain-db" and try again``

とのエラーで失敗する場合。

yaju@yajusenpaiMacBook-Pro docker-laravel-handson % docker-compose up -d
[+] Building 0.0s (0/0)
[+] Building 0.1s (1/2)
 => [internal] load build definition from Dockerfile                       0.0s
[+] Building 0.2s (2/3)
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 32B                                        0.0s
[+] Building 1.0s (3/3) FINISHED
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 32B                                        0.0s
[+] Building 1.0s (3/3) FINISHED
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 32B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => ERROR [internal] load metadata for docker.io/mysql/mysql-server:8.0    0.8s
------
 > [internal] load metadata for docker.io/mysql/mysql-server:8.0:
------
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: `error getting credentials - err: exit status 1, out: `keychain cannot be accessed because the current session does not allow user interaction. The keychain may be locked; unlock it by running "security -v unlock-keychain ~/Library/Keychains/login.keychain-db" and try again``

原因と解決方法

Macを他の端末からsshなどで操作していると起こりがち。

直接端末を操作するか、今の状態のまま

security -v unlock-keychain ~/Library/Keychains/login.keychain-db

を叩くと解決する。

Macにログインするときのパスワードも求められるから叩いてね。

ちなみに一度うまくいったら、次回以降docker-compose up -dしたときにはsshからでもうまくいくようになる。

chatgptさんもそう言ってた。

ローカルマシンで、ターミナルでsecurity -v unlock-keychain ~/Library/Keychains/login.keychain-dbを実行し、キーチェーンをロック解除します。

  1. dockerコマンドを再度実行してみてください。Dockerは、必要なクレデンシャルを取得できるはずです。
  2. まだ同じエラーが発生する場合は、docker loginコマンドを使用してDocker Hubにログインしてみてください。その後、再びdocker-compose up -dコマンドを実行してみてください。
  3. まだ同じエラーが発生する場合は、Docker Engineが最新のバージョンであることを確認してください。また、可能であれば、Docker Engineを再インストールしてみてください。

エラー内容翻訳しても同じようなことが書いてるンゴ。

現在のセッションがユーザーとの対話を許可していないため、keychain' にアクセスできません。security -v unlock-keychain ~/Library/Keychains/login.keychain-db" を実行してロックを解除し、再試行してください`

参考にしたサイト

【超入門】20分でLaravel開発環境を爆速構築するDockerハンズオン - Qiita

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事