Open beejeebus opened 1 month ago
When docker login private-registry.example.com is called in parallel, some of the calls fail with the error The specified item already exists in the keychain.
docker login private-registry.example.com
The specified item already exists in the keychain.
Assuming a docker config with osxkeychain:
osxkeychain
$ jq .credsStore ~/.docker/config.json "osxkeychain" $ jq .auths ~/.docker/config.json { "private-registry.example.com": {} }
Then the issue can be reproduced like this:
~ $ (docker login private-registry.example.com &) && (docker login private-registry.example.com &) && docker login private-registry.example.com Authenticating with existing credentials... Authenticating with existing credentials... Authenticating with existing credentials... Error saving credentials: error storing credentials - err: exit status 1, out: `The specified item already exists in the keychain.` Error saving credentials: error storing credentials - err: exit status 1, out: `The specified item already exists in the keychain.` Login Succeeded
The processes that lose the race report an error, even though the credentials were successfully added by the winner of the race.
When
docker login private-registry.example.com
is called in parallel, some of the calls fail with the errorThe specified item already exists in the keychain.
Assuming a docker config with
osxkeychain
:Then the issue can be reproduced like this:
The processes that lose the race report an error, even though the credentials were successfully added by the winner of the race.