amazon-ecr-credential-helper icon indicating copy to clipboard operation
amazon-ecr-credential-helper copied to clipboard

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

Open ghost opened this issue 3 years ago • 8 comments

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.

ghost avatar Mar 15 '22 21:03 ghost

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.

wilgucki avatar Mar 16 '22 00:03 wilgucki

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.

timfallmk avatar Mar 16 '22 19:03 timfallmk

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.

dhkatz avatar Jun 04 '22 21:06 dhkatz

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.

sinbino avatar Jun 28 '22 10:06 sinbino

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 https://github.com/awslabs/amazon-ecr-credential-helper/issues/206#issuecomment-586032636:

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.

andrericardo avatar Aug 25 '22 23:08 andrericardo

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.

timfallmk avatar Aug 26 '22 04:08 timfallmk

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

quinnjr avatar Sep 23 '22 12:09 quinnjr

https://github.com/awslabs/amazon-ecr-credential-helper/issues/474#issuecomment-1538822507

hannes-ucsc avatar May 08 '23 18:05 hannes-ucsc