🐳
Dev Container上で、sam buildによるImageのビルドが「Error: Credentials store~」で失敗する
Visual Studio CodeのDev Container上で、AWS SAMのsam build
でImageをビルドしようとしたときに、下記のようなエラーになる場合があります。
vscode@fa74e5972146:/workspaces/fastapi-dynamodb-sample$ sam build
Building codeuri: /workspaces/fastapi-dynamodb-sample runtime: None architecture: x86_64 functions: FastApiFunction
Building image for FastApiFunction function
Setting DockerBuildArgs for FastApiFunction function
Error: Credentials store docker-credential-dev-containers-2052b920-bece-45c1-be63-2d6c467811b2 exited with "".
Traceback:
File "click/core.py", line 1082, in main
File "click/core.py", line 1697, in invoke
...
Dev Containerが起動する際に、~/.docker/config.json
に自動でcredsStore
フィールドを追加するようになっており、この情報が参照されてしまうことで失敗するようです。
~/.docker/config.json
を削除することで回避できますが、毎回削除するのは面倒です。
Visual Studio Codeの設定で作成を抑止できるようになっているので、devcontainer.json
で下記のように設定します。
"customizations": {
"vscode": {
"settings": {
"dev.containers.dockerCredentialHelper": false
}
}
},
この問題は下記のIssueで報告されていて、az acr login
でも同様の問題が発生するようです。(DevContainer上でDockerを使う様々なシチュエーションで競合しやすい)
Discussion