如何修复 docker Push 命令期间的 EOF 错误

dan*_*004 28 docker docker-registry docker-image docker-for-windows

我尝试将图像推送到我的公共 docker 存储库中,但几分钟后我遇到了这个问题:

在此输入图像描述

并且在推送过程中,多次发生以下情况(重试时):

在此输入图像描述

我的 docker 版本如下:

在此输入图像描述

如何解决这个问题呢 ?

Rid*_*dox 39

docker推送到ECR错误 当我将图像推送到 ECR 时,发生 EOF 错误。原因是远程存储库[ jdk-8-newrelic]不存在。创建存储库后,PUSH成功。

  • 这为我指明了正确的方向:Terraform 正在创建图像存储库,其名称与我传递给“docker Push”的名称不同。 (3认同)
  • 我的问题是类似的。我忘记给自己许可该仓库。 (2认同)

Jes*_*ron 19

当我的图像名称格式不正确时,我收到此错误。我试图推送一张名为registry-url/my-repository/my-image-name:tag “这是错误的”的图片;我需要每个图像名称一个存储库。registry-url/my-image-name:tag一旦我创建了名为 的存储库,就可以工作了my-image-name

这是 ECR 上的。

  • 这个答案很有帮助。“存储库”意味着_除标签之外的所有内容_这一点并不是很明显。 (5认同)

小智 15

我在 iam 用户的许可下缺少此策略AmazonEc2COntainerRegistryFullAccess


小智 9

如果您在 ~/.aws/credentials (linux) 下有配置文件,则可能需要指定配置文件名称

aws ecr get-login-password  --profile <PROFILE-NAME>  | docker login --username AWS --password-stdin <ECR_NAME>.dkr.ecr.<REGION>.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

  • 这个答案帮助我找出了我的问题,那是因为我有多个适用于各种环境的AWS帐户,并且在使用ECR进行docker登录身份验证时错误地使用了默认帐户。谢谢。 (2认同)

syd*_*der 5

如果您尝试推送到 AWS ECR,当与存储库的连接失败时,就会发生这种情况。这可能是因为

  1. 存储库不存在
  2. 存储库存在,但位于不同的区域
  3. AWS 凭证不正确。
  4. AWS凭证刚刚被更正

在正确的区域中创建存储库并且更正 AWS cli 凭证后,请确保再次运行 AWS docker login 命令并重复标记和推送步骤。


小智 0

现在,当我将图像推送到私人注册表时,我遇到了这个问题。我检查了 Docker 日志,发现代理有一些意外的情况,但我不必通过代理推送到我的私有服务器。所以我将我的注册表地址添加到 Docker 代理白名单中以跳过代理,并且它起作用了。我希望它有帮助!