我正在尝试为两个不同的注册表配置 Docker。(一个 ECR 和一个 docker.io)我需要使用ecr-login
simple 配置 ECR 和 docker.io,auth
但我无法同时配置它们。它给出以下错误:
保存凭证时出错:存储凭证时出错 - 错误:退出状态 1,输出:
not implemented
这是我的 ~/.docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "BASE64-STRING"
}
},
"credsStore": "ecr-login"
}
为什么 Docker 在已经可用credsStore
时还要尝试使用?auth
答案1
从 docker 1.13.0 开始,你可以改用新的 credHelper 格式。我从 Google 来到这里,遇到了与 credStore 完全相同的问题,所以我想添加这个以便其他人可以找到。
例子:
$ cat ~/.docker/config.json
{
"auths": {
"ghcr.io": {
"auth": "xxx"
}
},
"credHelpers": {
"xxx1.dkr.ecr.yyy.amazonaws.com": "ecr-login",
"xxx2.dkr.ecr.yyy.amazonaws.com": "ecr-login"
}
}