首页 > 解决方案 > AWS 教程 - 将 Docker 映像推送到 AWS ECR 错误 x509

问题描述

我正在努力通过 AWS构建现代 Web 应用程序项目,并在模块 2B 第 1C 部分遇到了一个问题(令人困惑,但如果您转到链接会有意义)。

使用的命令:

$ docker push muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/mythicalmysfits/service:latest

我似乎无法推送我创建的 docker 映像。错误内容如下:

    The push refers to repository [muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/mythicalmysfits/service]
Get https://muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/v2/: x509: certificate is valid for *.dkr.ecr.us-east-1.amazonaws.com, not muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com

我认为这将是一项简单的任务,但是我已经坚持了一段时间并且正在伸出援手。如果您需要更多信息,请告诉我。

标签: amazon-web-servicesdockerx509docker-registryamazon-ecr

解决方案


您收到此错误是因为您用于存储库的名称中muhammad.h.mughal包含.句点。

您会注意到您所指的主机是,muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com但证书是用于*.dkr.ecr.us-east-1.amazonaws.com. *在这种情况下(ssl 证书通用名称)仅匹配一个域组件。通过在命名中添加 a .,您无意中创建了一个包含3 个域组件(muhammadhmughal)的域名,从而使 ECR 的 ssl 证书无效。

解决方案虽然很激烈,但很简单 - 删除 repo。该名称将永远无法正常工作,现在是重新开始的时候了。


推荐阅读