Docker登录:存储凭据时出错,ウ存根Ж接收到错误数据,

zpqajqem  于 2022-11-02  发布在  Docker
关注(0)|答案(7)|浏览(267)

首先,我安装了AWS-CLI,我已经使用“AWS configure”来设置我的密钥,我还使用“Docker login”命令登录,当我键入Get-ECRLoginCommand时,我获得了成功。它工作并为我返回结果。
但当我尝试使用命令时:

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin 837859123533.dkr.ecr.ap-east-1.amazonaws.com/spring-boot

我得到了一个如下所示的错误:
保存凭据时出错:存储凭证时出错-错误:退出状态1,出局:error storing credentials - err: exit status 1, out:存根接收到错误的数据。′ ′

gdx19jrr

gdx19jrr1#

**编辑:**另请参阅Ethan Davis的解决方案:

我发现删除C:\Program Files\Docker\Docker\resources\bin\docker-credential-desktop.exe和C:\Program Files\Docker\Docker\resources\bin\docker-credential-wincred.exe对我很有效。- Ethan Davis '20年9月29日18:10

**Original:**Joelster的评论所链接的解决方案对我很有效。

一种快速解决方法是修改. docker\config.json文件。删除以下行以便docker使用文件系统存储令牌:

"credsStore": "wincred"

我打开了c:\Users\sashoalm\.docker\config.json文件,删除了“credsStore”键,然后就可以了:

type pass.txt | docker login -u AWS --password-stdin https://123123.dkr.ecr.us-west-1.amazonaws.com

结果是这样的:

WARNING! Your password will be stored unencrypted in C:\Users\sashoalm\.docker\config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
z18hc3ub

z18hc3ub2#

到今天为止,这个问题仍然存在。下面是我发现的事情-
1.)使用SSO进行身份验证时出现此问题。我使用的是Azure SSO for AWS。(https://www.npmjs.com/package/aws-azure-login
2.)原因是-从SSO返回的令牌足够长(超过2550个字符),而Windows凭据管理器不支持此类长令牌。
3.)如果您使用ECR凭证帮助程序(https://github.com/awslabs/amazon-ecr-credential-helper),遗憾的是,它似乎也不能与SSO-https://github.com/awslabs/amazon-ecr-credential-helper/issues/229一起使用
不过,我还是按照这些步骤来解决问题,因为我使用的是Windows-
1.)删除/重命名位于"C:\Program Files\Docker\Docker\resources\bin"目录中的"docker-credential-wincred.exe"文件。
2.)从坞站配置(C:\Users\PROFILE_NAME\.docker\config.json)中删除"credStore""credsStore"密钥.
我得到以下回应-

WARNING! Your password will be stored unencrypted in C:\Users\sandeep.kumar\.docker\config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
  • 为解决此问题而开放的票证-

https://github.com/danieljoos/wincred/issues/18
https://github.com/aws/aws-cli/issues/5636

0md85ypi

0md85ypi3#

这两种解决方案对我都有效,删除文件C:\程序文件\ Docker \ Docker \ resources \ bin \docker凭证桌面. exe和C:\程序文件\ Docker \ Docker \ resources \ bin \ docker-credential-wincred.exe文件中创建的文件夹并删除{“credsStore”:“......"}那么我在config.json文件中的结构如下所示

{
  "auths": {
     "Account_AWS.dkr.ecr.Region_AWS.amazonaws.com": {
         "auth": "My token"
     }
  },
  "HttpHeaders": {
    "User-Agent": "Docker-Client / 19.03.13 (windows)"
  },
  "stackOrchestrator": "swarm"
}
pobjuy32

pobjuy324#

正如@Ethan Davis提到的,删除以下文件对我很有帮助:

  • C:\Program Files\Docker\Docker\resources\bin\docker-credential-desktop.exe
  • C:\Program Files\Docker\Docker\resources\bin\docker-credential-wincred.exe
km0tfn4u

km0tfn4u5#

没有什么对我起作用,所以我安装了亚马逊ECR Docker凭据帮助程序,所以您根本不需要X1 M0 N1 X。

choco install amazon-ecr-credential-helper

将docker-credential-ecr-login二进制文件放在PATH中,并将~/. docker/config.json文件的内容设置为:

{
    "credsStore": "ecr-login"
}

正式回购协议:https://github.com/awslabs/amazon-ecr-credential-helper

1dkrff03

1dkrff036#

Docker Login failure on Mac OS X解决方案在Mac-os上有帮助:mv ~/.docker ~/.docker.bak

tzcvj98z

tzcvj98z7#

修复了刚刚删除的“credsStore”:config.json文件中的“desktop”。

相关问题