AWS 教程 - 将 Docker 图像推送到 AWS ECR 错误 x509

AWS Tutorial - Pushing Docker Image to AWS ECR error x509

我正在努力通过 AWS Build a Modern Web Application project 并在模块 2B 的第 1C 部分遇到了一个问题(令人困惑,但如果你去 link 就会明白)。

使用的命令:

$ 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

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

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

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

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