Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After upgrading to macos 12.3 I'm getting "Error saving credentials: error storing credentials - err: exit status 1, out: not implemented" #316

Open
wilgucki opened this issue Mar 15, 2022 · 8 comments

Comments

@wilgucki
Copy link

Everything was working fine before the upgrade but once I've upgraded to macos 12.3 I'm getting this error
Error saving credentials: error storing credentials - err: exit status 1, out: not implemented
when trying to run this
aws ecr get-login-password --region xxx | docker login --username AWS --password-stdin xxx.dkr.ecr.xxx.amazonaws.com

Running docker-compose up fails with this error
Error response from daemon: pull access denied for xxx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

I've double checked access rights - all seems to be fine (plus nothing has changed recently in this area).

Here's my docker config

~ cat ~/.docker/config.json --plain
{
	"credHelpers": {
		"xxx.dkr.ecr.xxx.amazonaws.com": "ecr-login"
	}

}

I have verified that everything is fine on macos 12.2 (asked few people to run mentioned commands). I also verified with other person running macos 12.3 that this doesn't work. I have tested this on docker desktop 4.5 and 4.6.

@wilgucki
Copy link
Author

I think I found workaround for my issue

rm /usr/local/bin/docker-credential-ecr-login
brew uninstall docker-credential-helper-ecr
brew cleanup
ln -s /Applications/Docker.app/Contents/Resources/bin/docker-credential-ecr-login /usr/local/bin/docker-credential-ecr-login

To make containers work I need to do this

docker-compose build
docker-compose pull
docker-compose up -d

Sometimes I was able to use a single command instead (docker-compose up --build -d) but in most cases I'm getting this error

Error response from daemon: pull access denied for <some name>, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

So, reinstalling credentials helper and using separate commands to deal with containers seems to be a good enough workaround but the main issue has not been fixed.

@timfallmk
Copy link

timfallmk commented Mar 16, 2022

I am also seeing this issue while using SSO. The binaries released via homebrew and Docker seem to be different.

diff /opt/homebrew/Cellar/docker-credential-helper-ecr/0.6.0/bin/docker-credential-ecr-login /Applications/Docker.app/Contents/Resources/bin/docker-credential-ecr-login
Binary files /opt/homebrew/Cellar/docker-credential-helper-ecr/0.6.0/bin/docker-credential-ecr-login and /Applications/Docker.app/Contents/Resources/bin/docker-credential-ecr-login differ
/Applications/Docker.app/Contents/Resources/bin/docker-credential-ecr-login version
0.6.3

Since there's no 0.6.3 release in this repo I'm not sure what's going on here.

@wilgucki You don't have to actually uninstall the homebrew formula. You can use brew unlink to remove the symlink from the system.

@dhkatz
Copy link

dhkatz commented Jun 4, 2022

I've been getting the same issue on Ubuntu 22.04. I tried manually building using make docker and installing through brew but getting the not implemened error regardless.

@sinbino
Copy link

sinbino commented Jun 28, 2022

I have the same problem on Amazon Linux 2 on ec2.
I had to disable helper to login to docker.
This causes docker to warn that the password is stored unencrypted in config.json.

@andrericardo
Copy link

Since there's no 0.6.3 release in this repo I'm not sure what's going on here.

The version mismatch is explained in #206 (comment):

The version subcommand returns the version of Docker credential helper spec (defined here). You can find the version for this credential helper using the -v flag: docker-credential-ecr-login -v.

This is documented in the manual page here and here, but I'm happy to take pull requests that document this more clearly as well.

@timfallmk
Copy link

I would suggest that simply calling both version is the real problem, as the "documentation" that comment mentions doesn't clear things up at all. Maybe changing it to protocol version would be enough to distinguish properly?

Seems like a simple change that would make it look less sloppy.

@quinnjr
Copy link

quinnjr commented Sep 23, 2022

Having the same issue on Ubuntu 20.04 with a fresh install.

@hannes-ucsc
Copy link

#474 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants