无法将图像推送到Amazon ECR - 无法使用"没有基本身份验证凭据"

时间:2016-01-09 03:38:42

标签: amazon-web-services docker

我试图将docker镜像推送到Amazon ECR注册表。我使用Docker客户端Docker版本1.9.1,构建a34a1d5。我使用" aws ecr get-login --region us-east-1"获得docker登录信用。然后我成功登录这些信用如下:

docker login -u AWS -p XXXX -e none https://####.dkr.ecr.us-east-1.amazonaws.com
WARNING: login credentials saved in /Users/ar/.docker/config.json
Login Succeeded

但是当我试图推动我的图像时,我收到以下错误:

$ docker push ####.dkr.ecr.us-east-1.amazonaws.com/image:latest
The push refers to a repository [####.dkr.ecr.us-east-1.amazonaws.com/image] (len: 1)
bcff5e7e3c7c: Preparing 
Post https://####.dkr.ecr.us-east-1.amazonaws.com/v2/image/blobs/uploads/: no basic auth credentials

我确保aws用户拥有正确的权限。我还确保存储库允许该用户推送它。为了确保这不是一个问题,我将注册表设置为允许所有用户完全访问。什么都没有改变"没有基本的身份验证凭证"错误。我不知道如何开始调试,因为所有流量都是加密的。

更新

所以当我意识到问题的根源时,我有一点荷马辛普森D'哦。我可以访问多个AWS账户。即使我使用aws configure为我设置存储库的帐户设置我的凭据,但aws cli实际上使用的是环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。因此,当我执行aws ecr get-login时,它返回了错误帐户的登录信息。我没注意到帐号是不同的,直到我现在回去尝试一些建议的答案。当我删除环境变量时,一切正常。我想故事的座右铭是,如果您遇到此错误,请确保您登录的存储库与您应用于图像的标记相匹配。

45 个答案:

答案 0 :(得分:84)

如果您运行$(aws ecr get-login --region us-east-1),则会全部为您完成

答案 1 :(得分:52)

在我的情况下,这是Docker for Windows的一个错误及其对Windows Credential Manager的支持。

打开~/.docker/config.json并删除"credsStore": "wincred"条目。

这将导致凭证直接写入config.json。之后你必须再次登录。

您可以通过GitHub上的故障#22910#24968跟踪此错误。

答案 2 :(得分:38)

如果您使用个人资料,请不要忘记将--profile=XXX传递给aws ecr get-login

答案 3 :(得分:27)

更新

由于不推荐使用AWS CLI版本2-aws ecr get-login,并且正确的方法为aws ecr get-login-password

因此,正确的和更新的答案如下: docker login -u AWS -p $(aws ecr get-login-password --region us-east-1) xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com

答案 4 :(得分:22)

我也有这个问题。发生在我身上的事情是我忘了运行我跑完后返回给我的命令

aws ecr get-login --region ap-southeast-2

这个命令返回了一个大blob,其中包含docker login命令!我没有意识到。它应该返回这样的东西:

docker login -u AWS -p <your_token_which_is_massive> -e none <your_aws_url>

复制并粘贴此命令&amp;然后运行你的docker push命令,看起来像这样:

docker push 8888888.blah.blah.ap-southwest-1.amazonaws.com/dockerfilename

答案 5 :(得分:14)

即使没有打开权限,这也应该有效。请参阅文档:Private Registry Authentication

[编辑:实际上,在进行第二次测试时我也有权限问题。见Docker push to AWS ECR private repo failing with malformed JSON)。]

然而我遇到了同样的问题;我不知道为什么,但我成功地使用了get-authorization-token

文档中描述的更冗长的身份验证机制

AWS CLI和Docker版本:

$ aws --version
aws-cli/1.9.17 Python/2.7.6 Linux/3.16.0-38-generic botocore/1.3.17
$ docker --version
Docker version 1.9.1, build a34a1d5

获取身份验证令牌('docker password')。

aws ecr get-authorization-token --region us-east-1 --output text \
    --query authorizationData[].authorizationToken | base64 -d | cut -d: -f2

注意:我的〜/ .aws / config指定了不同的默认区域,因此我需要明确设置--region us-east-1

以交互方式登录(将############更改为您的AWS账户ID):

docker login -u AWS https://############.dkr.ecr.us-east-1.amazonaws.com/
password: <paste the very long password from above>
email: <I left this blank>

推送图像(假设您已制作泊坞窗图像test):

docker tag test:latest ############.dkr.ecr.us-east-1.amazonaws.com/test:latest
docker push ############.dkr.ecr.us-east-1.amazonaws.com/test:latest
The push refers to a repository [910732017890.dkr.ecr.us-east-1.amazonaws.com/test] (len: 1)
d5122f58a2e1: Pushed 
7bddbca3b908: Pushed 
latest: digest: sha256:bc0b521fd398bd1a2ef58a289dcb910334608723fd570e7bddb36eacd0060363 size: 4378

答案 6 :(得分:11)

尝试:

eval $(aws ecr get-login --no-include-email | sed 's|https://||')

之前推。

答案 7 :(得分:11)

如果对任何人有帮助......

我的问题是我必须使用--profile选项才能使用凭证文件中的正确配置文件进行身份验证。

接下来,我已经省略了--region [region_name]命令,该命令也给出了“无基本身份验证凭据”错误。

我的解决方案是改变我的命令:

aws ecr get-login

对此:

aws --profile [profile_name] ecr get-login --region [region_name]

示例:

aws --profile foo ecr get-login --region us-east-1

希望能帮助别人!

答案 8 :(得分:8)

我遇到了同样的问题。

生成新的AWS凭据(访问密钥)并使用新凭据重新配置AWS CLI解决了这个问题。

早些时候,{{1}}生成了具有无效EC注册URL的docker login命令。

答案 9 :(得分:8)

Windows上的wincred凭证管理器中存在一个已知错误。从生成的登录命令中删除“https://”解决了这个问题。

docker login -u AWS -p <password> <aws_account_id>.dkr.ecr.<region>.amazonaws.com

而不是

docker login -u AWS -p <password> https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com

另见the troubleshooting page

答案 10 :(得分:5)

  1. 确保您先创建了ECR注册表 然后根据ECR推送命令指令,剪切并粘贴以下命令
  2. 执行docker login命令(Mac / Linux上的eval跳过剪切和粘贴)
    eval $(aws ecr get-login --region us-east-1)
    如果您使用多个AWS账户,请添加--profile eval $(aws ecr get-login --region us-east-1 --profile your-profile)
  3. docker build -t image-name .
  4. docker tag image-name:latest ############.dkr.ecr.us-east-1.amazonaws.com/image-name:latest
  5. docker push ############.dkr.ecr.us-east-1.amazonaws.com/image-name:latest
  6. 如果出现错误,请确保再次运行所有命令!使用aws ecr get-login获取的凭据是临时的,并且将过期。

答案 11 :(得分:4)

AWS文档告诉您执行以下命令(对于ap-southeast-2区域)

aws ecr get-login --region ap-southeast-2

当我遇到这个问题时,根据您需要将此命令的结果输入终端并执行它的文档,我不清楚。

对我有用的修复方法是使用

将结果复制到剪贴板
aws ecr get-login --region ap-southeast-2 | pbcopy

将结果粘贴到命令行并执行

答案 12 :(得分:4)

就我而言,在运行aws ecr get-login --no-include-email --region *****之后,我只是复制了该命令的输出,格式为docker login -u *** -p ************,然后将其粘贴到提示符中。推进了。

答案 13 :(得分:3)

运行此命令后:

(aws ecr get-login --no-include-email --region us-west-2)

只需从输出中运行docker login命令

docker login -u AWS -p epJ....

是docker登录ECR的方式

答案 14 :(得分:3)

Docker CLI 不支持本机 IAM 身份验证方法。 authenticate and authorize Docker push and pull requests请按照此步骤操作。

步骤 - 1

检查 aws 凭据是否正确配置。要配置 AWS 凭证,请运行以下命令并提供您的 aws 凭证。

aws configure

步骤 - 2

您可以使用 get-login-password(推荐)向 Amazon ECR 私有注册表对 Docker 进行身份验证

Linux 和 msc

aws ecr get-login-password --region <your region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<your region>.amazonaws.com

适用于窗户

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.<your region>.amazonaws.com

您也可以使用 --get-login 方法(但公开凭据)(不推荐)。

适用于 linux 和 mac

$(aws ecr get-login --region <your region> --no-include-email)

适用于窗户

Invoke-Expression -Command (Get-ECRLoginCommand -Region <your region>).Command

如果您登录成功,那么您就可以开始了。否则请参考aws docs for error

步骤 - 3

Push your image to repo

  1. 标记您的图片

    docker 标签 .dkr.ecr..amazonaws.com/my-web-app

  2. 使用以下命令推送您的图像。

    docker push .dkr.ecr..amazonaws.com/my-web-app

<块引用>

注意:这是基于令牌的登录和生成的授权令牌 仅适用于 12H

答案 15 :(得分:3)

我遇到此问题的原因不同:我需要推送到与我的AWS账户无关的注册管理机构(客户的ECR注册管理机构)。客户端通过添加我的IAM ID(例如arn:aws:iam::{AWS ACCT #}:user/{Username})作为委托人,在注册表的权限选项卡下授予我访问权限。我尝试使用通常的步骤登录:

$(aws ecr get-login --region us-west-2 --profile profilename)
docker push {Client AWS ACCT #}.dkr.ecr.us-west-1.amazonaws.com/imagename:latest

当然导致no basic auth credentialsAs it turns outaws ecr get-login会将您登录到与登录相关联的注册表的ECR ,这在回顾中是有意义的。解决方案是告诉aws ecr get-login您要登录的注册表。

$(aws ecr get-login --region us-west-2 --profile profilename --registry-ids {Client AWS ACCT #})

之后,docker push工作正常。

答案 16 :(得分:2)

最近有一个更新,其中从AWS删除了get-login,而是使用get-login-password:

sudo docker login -u AWS -p $(aws ecr get-login-password --region <region> - 
-profile <profile>) <account id>.dkr.ecr.eu-north-1.amazonaws.com 

如果使用默认凭据,请不要忘记删除--profile标志

答案 17 :(得分:1)

我也在为此苦苦挣扎。请按照以下步骤操作 -

  1. aws 配置(使用您的凭据进行配置)
  2. 如果您已经创建了 ECR 存储库,您可以在控制台中找到一个带有“查看推送命令”的按钮。你会在那里得到三个命令,然后就可以推送了。否则,下面是三个命令。
  3. aws ecr get-login-password --region | docker login --username AWS --password-stdin .dkr.ecr.us-west-2.amazonaws.com
  4. 构建您的 docker 镜像 - docker build -t 。
  5. docker 标签:最新 .dkr.ecr.us-west-2.amazonaws.com/:latest
  6. docker push .dkr.ecr.us-west-2.amazonaws.com/:latest

请注意 - 在 .dkr.ecr.us-west-2.amazonaws.com 中,该地区将是您的默认地区。对我来说是 us-west-2,因此也是一样。

希望这可以节省您的时间。

答案 18 :(得分:1)

如果ecr登录失败,通常会引发此错误。我使用Windows系统,并且在管理员模式下使用“ Powershell”首先登录到ecr。

>>> set.intersection(set([1, 2, 3]), set([2, 3, 4]))
{2, 3}

>>> set.intersection([1, 2, 3], [2, 3, 4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

>>> set([1, 2, 3, 4]).intersection([1, 2, 3], [2, 3, 4])  # same args, passed to instance method
{2, 3}

这应该输出“登录成功”。

答案 19 :(得分:1)

有一种非常简单的方法将Docker映像推送到ECR:Amazon ECR Docker Credential Helper。只需根据提供的指南进行安装,即可将您的~/.docker/config.json更新如下:

{
    "credsStore": "ecr-login"
}

,您将可以在没有docker login的情况下推入/拉出图像。

答案 20 :(得分:1)

我面临同样的问题,而我所犯的错误是使用错误的回购路径

例如:docker push xxxxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/jenkins:latest

在上述路径中,这就是我犯错的地方:"dkr.ecr.us-east-1.amazonaws.com"代替"west"。我正在使用“east"。一旦我纠正了错误,我就能够成功推送图像。

答案 21 :(得分:1)

补充一下,以防万一有人像我这样从未阅读过F手册
我从上面遵循了所有建议的步骤,例如

@page { margin: 0 }
body { margin: 0 }
.sheet {
  margin: 0;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  page-break-after: always;
}

/** Paper sizes **/
body.A3               .sheet { width: 297mm; height: 419mm }
body.A3.landscape     .sheet { width: 420mm; height: 296mm }
body.A4               .sheet { width: 210mm; height: 296mm }
body.A4.landscape     .sheet { width: 297mm; height: 209mm }
body.A5               .sheet { width: 148mm; height: 209mm }
body.A5.landscape     .sheet { width: 210mm; height: 147mm }
body.letter           .sheet { width: 216mm; height: 279mm }
body.letter.landscape .sheet { width: 280mm; height: 215mm }
body.legal            .sheet { width: 216mm; height: 356mm }
body.legal.landscape  .sheet { width: 357mm; height: 215mm }

/** Padding area **/
.sheet.padding-10mm { padding: 10mm }
.sheet.padding-15mm { padding: 15mm }
.sheet.padding-20mm { padding: 20mm }
.sheet.padding-25mm { padding: 25mm }

/** For screen preview **/
@media screen {
  body { background: #e0e0e0 }
  .sheet {
    background: white;
    box-shadow: 0 .5mm 2mm rgba(0,0,0,.3);
    margin: 5mm auto;
  }
}

/** Fix for Chrome issue #273306 **/
@media print {
           body.A3.landscape { width: 420mm }
  body.A3, body.A4.landscape { width: 297mm }
  body.A4, body.A5.landscape { width: 210mm }
  body.A5                    { width: 148mm }
  body.letter, body.legal    { width: 216mm }
  body.letter.landscape      { width: 280mm }
  body.legal.landscape       { width: 357mm }
}

并始终没有基本的身份验证凭据
我创建了一个名为

的注册表
aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin 123456789.dkr.ecr.eu-west-1.amazonaws.com

并试图推送名为alpine:latest

的图像
123456789.dkr.ecr.eu-west-1.amazonaws.com/my.registry.com/namespace 

我代表Silly错误,因为我必须使用完整的容器路径在ecr中创建注册表。
我使用完整的容器路径创建了一个新的注册表,而不是以名称空间结尾

123456789.dkr.ecr.eu-west-1.amazonaws.com/my.registry.com/namespace/alpine:latest
2c6e8b76de: Preparing
9d4cb0c1e9: Preparing
1ca55f6ab4: Preparing
b6fd41c05e: Waiting
ad44a79b33: Waiting
2ce3c1888d: Waiting
no basic auth credentials   

又低又推到

123456789.dkr.ecr.eu-west-1.amazonaws.com/my.registry.com/namespace/alpine

工作正常

答案 22 :(得分:1)

FWIW,Debian 9,Docker版本18.06.1-ce,内部版本e68fc7a:

$(aws ecr get-login | sed 's| -e none | |g')

答案 23 :(得分:1)

如果您使用多个配置文件,并且需要登录到不是默认配置文件的配置文件,则需要使用以下命令登录:

$(AWS_PROFILE=<YOUR PROFILE> aws ecr get-login --no-include-email --region eu-west-1)

答案 24 :(得分:1)

我遇到了这个问题以及在OSX上运行。我看到了Oliver Salzburg的回复并检查了我的〜/ .docker / config.json。它拥有来自我所拥有的不同AWS账户的多个授权凭证。我删除了该文件,再次运行get-login后就可以了。

答案 25 :(得分:1)

The docker command given by aws-cli is little off...

When using docker login, docker will save a server:key pair either in your keychain or ~/.docker/config.json file

If it saves the key under https://7272727.dkr.ecr.us-east-1.amazonaws.com the lookup for the key during push will fail because docker will be looking for a server named 7272727.dkr.ecr.us-east-1.amazonaws.com not https://7272727.dkr.ecr.us-east-1.amazonaws.com.

Use the following command to login:

eval $(aws ecr get-login --no-include-email --region us-east-1 --profile yourprofile | sed 's|https://||')

Once you run the command you will get 'Login Succeeded' message and then you are good
after that your push command should work

答案 26 :(得分:1)

PowerShell 中的 Windows 上,使用:

Invoke-Expression $(aws ecr get-login --no-include-email)

答案 27 :(得分:0)

我遇到了同样的问题,并使用此命令修复了它。它对我有用,请根据您的帐户进行更新。 这是针对需要与Docker安装AWS-CLI的Ubuntu计算机

algorithm_name='multi-model-xgboost'

account=$(aws sts get-caller-identity --query Account --output text)

# Get the region defined in the current configuration
region=$(aws configure get region)

aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin ${account}.dkr.ecr.${region}.amazonaws.com/${algorithm_name}

答案 28 :(得分:0)

我在Docker论坛上发布了答案。在我的情况下,问题是centos“ docker”不等同于Docker CE,因此失败了:

  

没有基本身份验证

我只是通过在centos上安装“ docker-ce”进行修复。

参考:https://forums.docker.com/t/docker-push-to-ecr-failing-with-no-basic-auth-credentials/17358/30

答案 29 :(得分:0)

因此,我通过下载存储库并自己编译来安装aws-credentials-helper。我发现我使用了错误的编译命令:make docker而不是make docker TARGET_GOOS=darwin(我在Mac上)。生成的bin/local/docker-credential-ecr-login最初不能执行。

答案 30 :(得分:0)

I had to run aws ecr get-login-password due to aws cli deprecating the get-login command.

Also in this version the username is forced to be hard coded as AWS.

Here was the command that worked for aws-cli/2.0.58.

aws ecr get-login-password --region region_y | docker login --username AWS --password-stdin account_x.dkr.ecr.region_y.amazonaws.com

登录成功

答案 31 :(得分:0)

在Windows系统上,您必须清空以下文件- SonarScanner.MSBuild.exe begin /k:"somefile" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7" - SonarScanner.MSBuild.exe end /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7" ,然后再次运行以下脚本

~/.docker/config.json

答案 32 :(得分:0)

我们今天也遇到了这个问题并尝试了本文中提到的所有内容(生成AWS凭据除外)。

我们终于通过简单地升级Docker来解决了这个问题,然后推动了工作。

Docker 1.10.x遇到了问题,并使用Docker 1.11.x解决了。

希望这有帮助

答案 33 :(得分:0)

AWS 已弃用 get-login 而不是,请使用以下命令

aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <ecr-repo-full-path>

示例

aws ecr get-login-password --region ap-south-1 | docker login --username AWS --password-stdin 607348619222.dkr.ecr.ap-south-1.amazonaws.com

答案 34 :(得分:0)

对于Mac OSX

TL; DR确保您的“身份验证”密钥与凭据存储密钥完全匹配

  • 检查您的docker配置:

cat ~/.docker/config.json

抽样结果:

{
    "auths": {
        "https://55511155511.dkr.ecr.us-east-1.amazonaws.com": {}
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/19.03.5 (darwin)"
    },
    "credsStore": "osxkeychain"
}

请注意,“ auths”值是一个空对象,并且docker使用凭据存储“ osxkeychain”。

  • 打开Mac的“钥匙串访问”应用并找到名称“ Docker凭据”

enter image description here

注意Where:字段

  • 确保auths中的~/.docker/config.json键与“钥匙串访问”中的Where:字段匹配。

如果〜/ .docker / config.json中的auths键与钥匙串中的Where:字段不匹配,您可能会从Login Succeeded得到一个docker login...,但仍然得到 ERROR: Service 'web' failed to build: Get https://55511155511.dkr.ecr.us-east-1.amazonaws.com/v2/path/to/image/latest: no basic auth credentials,当您尝试拉动时。

就我而言,我需要添加https://

原始

    "auths": {
        "55511155511.dkr.ecr.us-east-1.amazonaws.com": {}
    },

已修复

    "auths": {
        "https://55511155511.dkr.ecr.us-east-1.amazonaws.com": {}
    },

答案 35 :(得分:0)

以下命令对我有用:

sudo $(aws ecr get-login --region us-east-1 --no-include-email)

然后运行以下命令:

sudo docker tag e9ae3c220b23(image_id) aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

sudo docker push aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

答案 36 :(得分:0)

我添加了region选项,然后一切正常,对我来说:

aws ecr get-login --no-include-email --region eu-west-3

答案 37 :(得分:0)

就我而言(可能在所有情况下),此错误是由拥有多个AWS账户引起的。因此,AWS ECR没有使用与aws账户相关的正确aws凭证。

我尝试了此处提到的多种解决方案,但没有成功。 在使用令牌而不是用户名和密码后,它可以正常工作。我按照这里的说明进行操作。 https://btburnett.com/2017/01/docker-login-for-amazon-aws-ecr-using-windows-powershell.html

答案 38 :(得分:0)

如果要隔离用于CI / CD目的的AWS账户并在多个AWS账户之间共享一个ECR存储库,则可能需要手动更改~/.docker/config.json

假设你有这些设置:

  1. ECR归AWS账户ID 00000000000000
  2. 所有
  3. CI服务器归AWS账户ID 99999999999999
  4. 所有

    如果您在CI服务器中致电aws ecr get-login --region us-west-2 | bash,则泊坞工将在~/.docker/config.json生成临时凭证。

    {
      "auths": {
        "https://99999999999999.dkr.ecr.us-west-2.amazonaws.com": {
          "auth": "long-token.."
        }
      }
    }
    

    但您想指向ECR的帐户,因此您需要更改主机名。

    {
      "auths": {
        "https://00000000000000.dkr.ecr.us-west-2.amazonaws.com": {
          "auth": "long-token.."
        }
      }
    }
    

    请注意,这种情况依赖于您如何构建允许ECR访问的IAM用户/策略。

答案 39 :(得分:0)

该错误消息来自docker并且它不一定与AWS有关,因为我在不使用AWS时遇到了同样的错误...它只是说docker没有获得授权从任何来源的auth进行处理它碰巧正在使用

在我的情况下,在测试中我删除了目录〜/ .docker并得到了这个错误...在我弹回我的本地docker注册表然后docker push很好

答案 40 :(得分:0)

只需运行第一步中返回的内容即可解决问题。

答案 41 :(得分:0)

您必须确保使用正确的凭据登录,请参阅官方错误说明并在此处进行检查

http://docs.aws.amazon.com/AmazonECR/latest/userguide/common-errors-docker.html

修复&#34;没有基本认证&#34;在链接中描述

答案 42 :(得分:0)

aws ecr get-login --region us-west-1 --no-include-email

此命令为我提供了正确的登录命令。如果你不使用“--no-include-email”,它将引发另一个错误。上面命令的输出看起来像这个docker登录-u AWS -p **********************非常大的******。复制并执行它。现在它将显示“Login Succeeded”。现在您可以将图像推送到ECR。

确保您的AMI规则具有您尝试登录的用户的权限。

答案 43 :(得分:0)

确保在aws ecr get-login中使用正确的区域,它必须与创建存储库的区域匹配。

答案 44 :(得分:-1)

确保在本地运行Docker的用户是最终用来推送映像的用户。对我来说,使用sudo运行会导致此问题。从命令中删除sudo可以解决问题。希望这能帮助并节省某人的时间,并且没有人再犯同样的错误。以下是输出,供您参考。

sudo docker push {your-account-id}.dkr.ecr.us-east-1.amazonaws.com/{repository-name}:{tag-name}
The push refers to repository [{your-account-id}.dkr.ecr.us-east-1.amazonaws.com/{repository-name}]
f13afaa342eb: Preparing
d01b75ce3235: Preparing
7eaa58141607: Preparing
519e8c5b2557: Preparing
15d4a3a33fec: Preparing
fdbbf41b1ab8: Waiting
4b88ecda5399: Waiting
e23a8e1e773f: Waiting
6623e2cc11cd: Waiting
no basic auth credentials

在没有sudo的情况下运行完全正常

docker push {your-account-id}.dkr.ecr.us-east-1.amazonaws.com/{repository-name}:{tag-name}
The push refers to repository [{your-account-id}.dkr.ecr.us-east-1.amazonaws.com/{repository-name}]
f13afaa342eb: Pushed
d01b75ce3235: Pushed
7eaa58141607: Pushed
519e8c5b2557: Pushed
15d4a3a33fec: Pushed
fdbbf41b1ab8: Pushed
4b88ecda5399: Pushed
e23a8e1e773f: Pushed
6623e2cc11cd: Pushed
{tag-name}: digest: sha256:5ceaa5bf7605559582960b6d56a8eece9486ce0950bca9dd63a0dcd38a520bf0 size: 4293